Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

GitHub
GitHub

59.3K
49.8K
+ 1
10K
GitLab
GitLab

14.3K
11.9K
+ 1
2.1K
Add tool

GitHub vs GitLab: What are the differences?

Developers describe GitHub as "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. On the other hand, GitLab is detailed as "Open source self-hosted Git management software". GitLab offers git repository management, code reviews, issue tracking, activity feeds and wikis. Enterprises install GitLab on-premise and connect it with LDAP and Active Directory servers for secure authentication and authorization. A single GitLab server can handle more than 25,000 users but it is also possible to create a high availability setup with multiple active servers.

GitHub and GitLab can be categorized as "Code Collaboration & Version Control" tools.

Some of the features offered by GitHub are:

  • Command Instructions
  • Source Browser
  • Git Powered Wikis

On the other hand, GitLab provides the following key features:

  • Manage git repositories with fine grained access controls that keep your code secure
  • Perform code reviews and enhance collaboration with merge requests
  • Each project can also have an issue tracker and a wiki

"Open source friendly", "Easy source control" and "Nice UI" are the key factors why developers consider GitHub; whereas "Self hosted", "Free" and "Has community edition" are the primary reasons why GitLab is favored.

GitLab is an open source tool with 20.1K GitHub stars and 5.33K GitHub forks. Here's a link to GitLab's open source repository on GitHub.

reddit, Instacart, and Lyft are some of the popular companies that use GitHub, whereas GitLab is used by Coderus, Webedia, and Ticketmaster. GitHub has a broader approval, being mentioned in 4647 company stacks & 5874 developers stacks; compared to GitLab, which is listed in 1219 company stacks and 1431 developer stacks.

- No public GitHub repository available -

What is GitHub?

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.

What is GitLab?

GitLab offers git repository management, code reviews, issue tracking, activity feeds and wikis. Enterprises install GitLab on-premise and connect it with LDAP and Active Directory servers for secure authentication and authorization. A single GitLab server can handle more than 25,000 users but it is also possible to create a high availability setup with multiple active servers.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose GitHub?
Why do developers choose GitLab?

Sign up to add, upvote and see more prosMake informed product decisions

Sign up to add, upvote and see more consMake informed product decisions

What companies use GitHub?
What companies use GitLab?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with GitHub?
What tools integrate with GitLab?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to GitHub and GitLab?
Bitbucket
Bitbucket gives teams one place to plan projects, collaborate on code, test and deploy, all with free private Git repositories. Teams choose Bitbucket because it has a superior Jira integration, built-in CI/CD, & is free for up to 5 users.
AWS CodeCommit
CodeCommit eliminates the need to operate your own source control system or worry about scaling its infrastructure. You can use CodeCommit to securely store anything from source code to binaries, and it works seamlessly with your existing Git tools.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
SVN (Subversion)
Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.
Azure DevOps
Azure DevOps provides unlimited private Git hosting, cloud build for continuous integration, agile planning, and release management for continuous delivery to the cloud and on-premises. Includes broad IDE support.
See all alternatives
Decisions about GitHub and GitLab
Michael Kelly
Michael Kelly
Senior Software Engineer at StackShare · | 14 upvotes · 316.4K views
atACK FoundryACK Foundry
GitLab
GitLab
GitHub
GitHub
GitLab CI
GitLab CI
GitLab Pages
GitLab Pages
Bitbucket
Bitbucket
#OpenSourceCloud

I use GitLab when building side-projects and MVPs. The interface and interactions are close enough to those of GitHub to prevent cognitive switching costs between professional and personal projects hosted on different services.

GitLab also provides a suite of tools including issue/project management, CI/CD with GitLab CI, and validation/landing pages with GitLab Pages. With everything in one place, on an #OpenSourceCloud GitLab makes it easy for me to manage much larger projects on my own, than would be possible with other solutions or tools.

It's petty I know, but I can also read the GitLab code diffs far more easily than diffs on GitHub or Bitbucket...they just look better in my opinion.

See more
Tim Abbott
Tim Abbott
Founder at Zulip · | 24 upvotes · 292.4K views
atZulipZulip
GitHub
GitHub
GitLab
GitLab

I have mixed feelings on GitHub as a product and our use of it for the Zulip open source project. On the one hand, I do feel that being on GitHub helps people discover Zulip, because we have enough stars (etc.) that we rank highly among projects on the platform. and there is a definite benefit for lowering barriers to contribution (which is important to us) that GitHub has such a dominant position in terms of what everyone has accounts with.

But even ignoring how one might feel about their new corporate owner (MicroSoft), in a lot of ways GitHub is a bad product for open source projects. Years after the "Dear GitHub" letter, there are still basic gaps in its issue tracker:

  • You can't give someone permission to label/categorize issues without full write access to a project (including ability to merge things to master, post releases, etc.).
  • You can't let anyone with a GitHub account self-assign issues to themselves.
  • Many more similar issues.

It's embarrassing, because I've talked to GitHub product managers at various open source events about these things for 3 years, and they always agree the thing is important, but then nothing ever improves in the Issues product. Maybe the new management at MicroSoft will fix their product management situation, but if not, I imagine we'll eventually do the migration to GitLab.

We have a custom bot project, http://github.com/zulip/zulipbot, to deal with some of these issues where possible, and every other large project we talk to does the same thing, more or less.

See more
Bitbucket
Bitbucket
GitLab
GitLab
GitHub
GitHub

Bitbucket provides 5 private repositories for free that is I believe the best feature. GitLab seems very simmilar to GitHub. The only reason I've choosen GitHub is its popularity. It seems faster than GitLab, uglier than Bitbucket and featured as others. The best open source projects are hosted on GitHub. Many applications are integrated with GitHub like my favourite #GitKraken.

See more
Jaime Leonardo Suncin Cruz
Jaime Leonardo Suncin Cruz
GitHub
GitHub
GitLab
GitLab

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.

See more
Handuo Zhang
Handuo Zhang
Phd Student at NTU · | 6 upvotes · 6.8K views
GitHub
GitHub

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.

See more
Jona Koudijs
Jona Koudijs
Infrastructure Engineer at True · | 5 upvotes · 3.7K views
GitLab
GitLab

I use GitLab because of the tight integration with Gitlab CI. I noticed that having the entire build chain integrated into one platform, makes it easier for developers and infrastructure engineers to work with automated testing and deploying even though not everybody has the same amount of experience with it.

See more
Budi Arsana
Budi Arsana
Programmer · | 13 upvotes · 10K views
atBunga MataBunga Mata
GitHub
GitHub

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.

See more
Logan Campos
Logan Campos
Computer Programmer at cryptosec.dev · | 10 upvotes · 44.4K views
GitLab
GitLab
GitHub
GitHub

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 !

See more
Russtopia Labs
Russtopia Labs
Sr. Doodad Imagineer at Russtopia Labs · | 3 upvotes · 51.1K views
Gogs
Gogs
GitHub
GitHub
Go
Go
GitLab
GitLab

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, but the web plugin hypothes.is https://stackshare.io/hypothes-is/hypothes-is actually is quite suitable as a code review tool. Set up a group for each code review, and just highlight lines to add comments in pull request pages of Gogs.

See more
Daniel Quinn
Daniel Quinn
Senior Developer at Workfinder · | 6 upvotes · 7.6K views
atThe Paperless ProjectThe Paperless Project
GitHub
GitHub
GitLab
GitLab

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.

See more
GitHub
GitHub
Bitbucket
Bitbucket
GitLab
GitLab

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.

Bitbucket GitLab

See more
Tom Klein
Tom Klein
CEO at Gentlent · | 9 upvotes · 123.2K views
atGentlentGentlent
Git
Git
GitHub
GitHub
GitLab
GitLab
Docker
Docker
Kubernetes
Kubernetes
HAProxy
HAProxy
Varnish
Varnish
npm
npm
Visual Studio Code
Visual Studio Code

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.

See more
GitHub
GitHub
#Github
#Repositories
#GitHubPullRequests
#GithubIssues
#Commits
#Feasible
#GithubMarket
#ToolsForGithub
#Licensing
#DependencyMonitoring
#Safe
#Secure
#Accessible

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

See more
GitHub
GitHub
GitLab
GitLab
Bitbucket
Bitbucket
#Githubmarketplace

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.

See more
Tassanai Singprom
Tassanai Singprom
JavaScript
JavaScript
PHP
PHP
HTML5
HTML5
jQuery
jQuery
Redis
Redis
Amazon EC2
Amazon EC2
Ubuntu
Ubuntu
Sass
Sass
Vue.js
Vue.js
Firebase
Firebase
Laravel
Laravel
Lumen
Lumen
Amazon RDS
Amazon RDS
GraphQL
GraphQL
MariaDB
MariaDB
Google Analytics
Google Analytics
Postman
Postman
Elasticsearch
Elasticsearch
Git
Git
GitHub
GitHub
GitLab
GitLab
npm
npm
Visual Studio Code
Visual Studio Code
Kibana
Kibana
Sentry
Sentry
BrowserStack
BrowserStack
Slack
Slack

This is my stack in Application & Data

JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

My Utilities Tools

Google Analytics Postman Elasticsearch

My Devops Tools

Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

My Business Tools

Slack

See more
Interest over time
Reviews of GitHub and GitLab
Avatar of veggiemonk
JavaScript Developer
Review ofGitLabGitLab

You cannot get easier setup and deployment with GitLab. The documentation is huge and many common use cases are covered. It has a Community Edition (CE, free, 100% open source) and an Enterprise Edittion (EE, see pricing). The CE is more than good enough. Although in the entreprise world, the EE is much better suited if, for instance, LDAP is needed. There is a Web UI that allows people to version their work without too much hassle. If you are a developer and have worked with git before this is really easy.

Avatar of sivakumar-kailasam
Staff Software Engineer
Review ofGitHubGitHub

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.

Review ofGitHubGitHub

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.

Review ofGitHubGitHub

Great collaboration-friendly git repository hosting. Plus integration with all sorts of other stuff, like Travis CI. But the command bar has disappeared...

Avatar of princesust
Science
Review ofGitHubGitHub

It's the best tools I have ever used.

How developers use GitHub and GitLab
Avatar of Airbnb
Airbnb uses GitHubGitHub

"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)."

Avatar of Matt Welke
Matt Welke uses GitHubGitHub

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.

Avatar of yaswanthgoud3235
yaswanthgoud3235 uses GitHubGitHub

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

Avatar of Instacart
Instacart uses GitHubGitHub

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.

Avatar of StackShare
StackShare uses GitHubGitHub

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).

Avatar of Eldoria
Eldoria uses GitLabGitLab

Als einer der größten Konkurrenten zu GitHub und BitBucket, stellt GitLab eine verlässliche Alternative dar. Als private GitLab Instanz oder als Service bietet GitLab alle Features die wir benötigen und das völlig Kostenfrei in der Community Edition. Hier liegen alle unsere Repositories.

Avatar of Scrayos UG (haftungsbeschränkt)
Scrayos UG (haftungsbeschränkt) uses GitLabGitLab

Gitlab offers us a self-hosted replacement for Github and even more than we were expecting from it. All of our code is hosted in our private GitLab-instance, that also hosts our artifacts and is used to deploy them into production.

Avatar of HyVive
HyVive uses GitLabGitLab

Our self hosted gitlab service provides us with a private and secure environment for developing and testing our internal software. All of our dockerfiles, source code and configuration files for our infrastructure are stored here.

Avatar of Refractal
Refractal uses GitLabGitLab

GitLab is our main Git server, housed on a separate box inside our VPN, it's diverse features and sandbox-support allows it to be an extremely good way to secure your source code.

Avatar of Trusted Shops GmbH
Trusted Shops GmbH uses GitLabGitLab

On Gitlab we host all of our private repositories. We have highly integrated it with other tools like JIRA and Sonar Qube to increase the Code Quality.

How much does GitHub cost?
How much does GitLab cost?