Gerrit Code Review vs GitHub: What are the differences?
What is Gerrit Code Review? OpenSource Git Code Review Tool. Gerrit is a self-hosted pre-commit code review tool. It serves as a Git hosting server with option to comment incoming changes. It is highly configurable and extensible with default guarding policies, webhooks, project access control and more.
What is GitHub? Powerful collaboration, review, and code management for open source and private development projects. GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
Gerrit Code Review and GitHub are primarily classified as "Code Review" and "Code Collaboration & Version Control" tools respectively.
Some of the features offered by Gerrit Code Review are:
- git repository hosting
- pre-commit code review
- commenting on diffs
On the other hand, GitHub provides the following key features:
- Command Instructions
- Source Browser
- Git Powered Wikis
"Code review" is the top reason why over 6 developers like Gerrit Code Review, while over 1750 developers mention "Open source friendly" as the leading cause for choosing GitHub.
Airbnb, Netflix, and Medium are some of the popular companies that use GitHub, whereas Gerrit Code Review is used by Citrix, Midokura, and Wonga.com. GitHub has a broader approval, being mentioned in 4713 company stacks & 6095 developers stacks; compared to Gerrit Code Review, which is listed in 11 company stacks and 6 developer stacks.
What is Gerrit Code Review?
What is GitHub?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Gerrit Code Review?
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I find I really like using GitHub because its issue tracker integrates really well into my project flow and the projects feature allows me to organize different efforts into boards. The automation features allow my issues to automatically progress through some states on the boards when I merge pull requests.
My Python / Django app is deployed on Heroku with PostgreSQL database and uWSGI webserver.
Keep with GitHub if you feel comfortable, If you want to switch to other keep in mind the change of mindset and you will need time to adapt, i'm not saying that GitLab is bad or difficult just the opposite, but it can be overwhelming because it have more integrated features (I love this) than GitHub , what it means more configs available that you can mess up.
I use GitHub because it can handle all the project management (it's got a great built-in kanban for projects that integrate beautifully with Issues. Also line-comments on commits are super useful to us. The integrated environment is perfect, light-weight, and it's nice NOT to have to deal w/ project management with a tool like Trello outside of the codebase. It's good to have everything in one place.
I use GitHub because since it was bought by Microsoft, some new features are being introduced in and most importantly, the git clone speed is usually much faster than gitlab. Gitlab is very good, I like the member permission function which is good for collaborative coding. But still I am more used to github interface.
I prefer to use GitHub because their website speed is faster and the availability more reliable than the competitors, this is our top priority as GitHub is our core functionality we need to be able to operate in development. And since their new pricing make more sense and work for us as they are charging based on how many developers than repositories, this help us to keep our repositories smaller by dividing each codebase into specifics repositories.
As an former administrator for GitLab enterprise I can say for closed source development it is an amazing tool to have. It does however have limits. For starters you will need to bother your unix administrators to assign a license to you. And after that happens the same guys start getting cranky if you use git LFS(Large File Storage) or manage a couple repos about ~100MBish. if you fork open source efforts remember to git clone --depth 1 ! As a free user of GitHub , I don't get crazy CI pipelines or crazy project management tools. I also don't need it !
I installed Gogs after a few repos I planned to use on GitHub disappeared without explanation, and after Microsoft's acquisition of same, it made me think about the over-centralization of community-developed software. A self-hosted solution that enables easy point-and-click mirroring of important repositories for my projects, both in-house and 3rd-party, ensures I won't be bitten by upstream catastrophes. (So far, Microsoft's stewardship has been fine, but always be prepared). It's also a very nice way to host one's own private repos before they're ready for prime-time on github.
Gogs is written in Go and is easy to install and configure, much more so than GitLab. The only major feature I wish it had is an integrated code review tool.
How we ended up choosing Confluence as our internal web / wiki / documentation platform at Katana.
It happened because we chose Bitbucket over GitHub . We had Katana's first hackaton to assemble and test product engineering platform. It turned out that at that time you could have Bitbucket's private repositories and a team of five people for free - Done!
This decision led us to using Bitbucket pipelines for CI, Jira for Kanban, and finally, Confluence. We also use Microsoft Office 365 and started with using OneNote, but SharePoint is still a nightmare product to use to collaborate, so OneNote had to go.
Now, when thinking of the key value of Confluence to Katana then it is Product Requirements Management. We use Page Properties macros, integrations (with Slack , InVision, Sketch etc.) to manage Product Roadmap, flash out Epic and User Stories.
We ended up with using Confluence because it is the best fit for our current engineering ecosystem.
We use GitHub because it's the default go-to place for the Free software community. Currently, Github is enjoying the network effect: you write code there because everyone writes there code there, so this choice was less of a choice than "what we all end up doing".
Personally, I prefer GitLab for its bundled-in tools like CI, boards, packaging, and Docker repo, but so long as the vast majority of talented nerds out there are on Github, that's where Paperless will be.
I use GitHub because it's the coolest kid on the block for open source. Searching for repos you need/want is easy.
Especially with the apache foundation moving their workloads to them, unlimited private repos, and a package registry on the way, they are becoming the one stop shop for open source needs.
I'm curious to see how the GitHub Sponsors(patreon for developers) plays out, and what it'll do for open source. Hopefully, they design it in a way where it's not abused by big tech to "plant" developers that look like they're building open source when they're actually building proprietary tools.
We're using Git through GitHub for public repositories and GitLab for our private repositories due to its easy to use features. Docker and Kubernetes are a must have for our highly scalable infrastructure complimented by HAProxy with Varnish in front of it. We are using a lot of npm and Visual Studio Code in our development sessions.
The world we currently live in consists of Jargon technologies and with each passing day a new technology is introduced in the market which serves to improves the life in one or the other way. #Github is one of the splendid Version Control repository management services which has a key component in the software development workflow and has a greater impact on developers life giving valuable essence to utilize the best tools fitted for any product.
In the last few years, GitHub and GitLab positioned themselves as handy assistants for developers, particularly when working in large teams. I use GitHub because it has overcome my time in maintaining code and product #Repositories. #GitHubPullRequests along side with #GithubIssues have helped me and many moderators like me to keep a track of the #commits done by any number of people around the world.
People synchronization to various roots of our project repositories has made our product to stand Safe Secure Accessible and #Feasible The newer addition to #GithubMarket and #ToolsForGithub has helped our community to use various in-built applications which provided us to track up with #Documentation, #Licensing #Codebase-Hosting and #DependencyMonitoring
A bit difference in GitHub and GitLab though both are Version Control repository management services which provides key component in the software development workflow. A decision of choosing GitHub over GitLab is major leap extension from code management, to deployment and monitoring alongside looking beyond the code base hosting provided best fitted tools for developer communities.
- Authentication stages - With GitLab you can set and modify people’s permissions according to their role. In GitHub, you can decide if someone gets a read or write access to a repository.
- Built-In Continuous Integrations - GitLab offers its very own CI for free. No need to use an external CI service. And if you are already used to an external CI, you can obviously integrate with Jenkins, etc whereas GitHub offers various 3rd party integrations – such as Travis CI, CircleCI or Codeship – for running and testing your code. However, there’s no built-in CI solution at the moment.
- Import/Export Resources - GitLab offers detailed documentation on how to import your data from other vendors – such as GitHub, Bitbucket to GitLab. GitHub, on the other hand, does not offer such detailed documentation for the most common git repositories. However, GitHub offers to use GitHub Importer if you have your source code in Subversion, Mercurial, TFS and others.
Also when it comes to exporting data, GitLab seems to do a pretty solid job, offering you the ability to export your projects including the following data:
- Wiki and project repositories
- Project uploads
- The configuration including webhooks and services
- Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities.
GitHub, on the other hand, seems to be more restrictive when it comes to export features of existing GitHub repositories. * Integrations - #githubmarketplace gives you an essence to have multiple and competitive integrations whereas you will find less in the GitLab.
So go ahead with better understanding.
This is my stack in Application & Data
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
When you interact with CircleCI's web application, all of your requests are hitting the #API hosts. We handle the majority of our authentication via #OAuth from GitHub or Bitbucket. We provide programmatic access to everything exposed in the UI through an API token that you can generate once you have authenticated.
For starters you can fork a repo, edit it online and send a pull request which is huge if its something very small that you want to commit. The whole pull request system, the UI and the UX are great. If I sent out a pull request that failed on travis CI then all I need to do is fix it in my fork and the original pull request will have these updates as well making it super easy for everyone involved. Overall a great service.
I love GitHub! They provide a completely free service for hosting, storing, and collaborating on code. Seriously, if you aren't using them, go sign up now.
Great collaboration-friendly git repository hosting. Plus integration with all sorts of other stuff, like Travis CI. But the command bar has disappeared...
It's the best tools I have ever used.
"Having a CI server building all commits across all branches was a huge first step, but to make this useful we needed to surface the outcome of these builds. This is where GitHub’s commit status API comes in. Every time our CI server begins a build, it pings GitHub’s commit status endpoint, and every time it completes a build it hits the endpoint again with the outcome. Now every open PR includes a yellow/red/green indicator for the branch in question, with a direct link to the build status page on our CI server. In practice this means more transparency, faster feedback cycles, and a guarantee that every branch merged into master has a passing test suite. This integration has been a huge help in keeping our master branch green, and has thus greatly reduced our deploy times (since engineers aren’t waiting on build failures to be resolved in master)."
Pervasive, easy to use Git repo hosting. I host ongoing personal projects privately and my personal blog (via GitHub Pages).
I also take successful proofs of concept (for example, experimenting with linking AWS Lambda to Heroku Postgres to create a serverless SQL backed web app), and host them as public example repos. These are linked to Dependabot and CircleCI if they have tests so that dependencies can be kept up to date automatically over time and the code using the dependencies can stay fresh over time for example viewers.
GitHub is a Web-based Git version control repository hosting service. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project
Yeah, so we use GitHub, and we basically use a variant of continuous deployment where when anyone merges in a feature that they’ve finished with, they ship it immediately, and we bundle it up as a build pack and send it to all of our EC2 servers... Any developer on the team can trigger a build and deploy at any time. So on a given day, we probably deploy 20 or 30 times to prod.
One thing I really wish GitHub had: Trello-style kanban for Issues. There are a bunch of services and tools that add Kanban to GitHub Issues. But Trello just seems far better. If GitHub had it’s own kanban tool, I’d probably use it. Right now it’s pretty painful to try to tie cards to commits manually (when/if we remember to).