Get Advice Icon

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

Git
Git

32.8K
26K
+ 1
6.6K
GitLab
GitLab

10.6K
8.3K
+ 1
2.1K
Add tool

Git vs GitLab: What are the differences?

Git: Fast, scalable, distributed revision control system. 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; GitLab: 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.

Git can be classified as a tool in the "Version Control System" category, while GitLab is grouped under "Code Collaboration & Version Control".

"Distributed version control system", "Efficient branching and merging" and "Fast" are the key factors why developers consider Git; whereas "Self hosted", "Free" and "Has community edition" are the primary reasons why GitLab is favored.

Git and GitLab are both open source tools. Git with 27.9K GitHub stars and 16.1K forks on GitHub appears to be more popular than GitLab with 20.1K GitHub stars and 5.33K GitHub forks.

Netflix, Asana, and CircleCI are some of the popular companies that use Git, whereas GitLab is used by Ticketmaster, Citrix, and Electronic Arts. Git has a broader approval, being mentioned in 3891 company stacks & 4632 developers stacks; compared to GitLab, which is listed in 1219 company stacks and 1431 developer stacks.

What is 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.

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 Git?
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

Jobs that mention Git and GitLab as a desired skillset
What companies use Git?
What companies use GitLab?

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

What tools integrate with Git?
What tools integrate with GitLab?

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

What are some alternatives to Git and GitLab?
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.
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.
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.
Perforce
Visibility, access control, workflow and code management for Git environments. Flexibility of collaborating on the same codebase and code reviews using any combination of Perforce and Git workflows and tools without compromise.
Mercurial
Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.
See all alternatives
Decisions about Git and GitLab
Glenn 'devalias' Grant
Glenn 'devalias' Grant
Hack. Dev. Transcend. · | 5 upvotes · 25K views
GitLab
GitLab
Git
Git
WebStorm
WebStorm
Amazon DynamoDB
Amazon DynamoDB
AWS CloudFormation
AWS CloudFormation
AWS Lambda
AWS Lambda
Go
Go
Bootstrap
Bootstrap
redux-saga
redux-saga
Redux
Redux
React
React
#JetBrains
#Serverless

Working on a project recently, wanted an easy modern frontend to work with, decoupled from our backend. To get things going quickly, decided to go with React, Redux.js, redux-saga, Bootstrap.

On the backend side, Go is a personal favourite, and wanted to minimize server overheads so went with a #serverless architecture leveraging AWS Lambda, AWS CloudFormation, Amazon DynamoDB, etc.

For IDE/tooling I tend to stick to the #JetBrains tools: WebStorm / Goland.

Obviously using Git, with GitLab private repo's for managing code/issues/etc.

See more
Tim Abbott
Tim Abbott
Founder at Zulip · | 6 upvotes · 18.4K views
atZulipZulip
Mercurial
Mercurial
Git
Git

I've been excited about Git ever since it got a built-in UI. It's the perfect combination of a really solid, simple data model, which allows an experienced user to predict precisely what a Git subcommand will do, often without needing to read the documentation (see the slides linked from the attached article for details). Most important to me as the lead developer of a large open source project (Zulip) is that it makes it possible to build a really clean, clear development history that I regularly use to understand details of our code history that are critical to making correct changes.

And it performs really, really well. In 2014, I managed Dropbox's migration from Mercurial to Git. And just switching tools made just about every common operation (git status, git log, git commit etc.) 2-10x faster than with Mercurial. It makes sense if you think about it, since Git was designed to perform well with Linux, one of the largest open source projects out there, but it was still a huge productivity increase that we got basically for free.

If you're learning Git, I highly recommend reading the other sections of Zulip's Git Guide; we get a lot of positive feedback from developers on it being a useful resource even for their projects unrelated to Zulip.

See more
Tim Abbott
Tim Abbott
Founder at Zulip · | 16 upvotes · 132.9K views
atZulipZulip
GitLab
GitLab
GitHub
GitHub

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
GitHub
GitHub
GitLab
GitLab
Bitbucket
Bitbucket

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
SVN (Subversion)
SVN (Subversion)
Git
Git
JSON
JSON
XML
XML
Python
Python
PHP
PHP
Java
Java
Swift
Swift
JavaScript
JavaScript
Linux
Linux
GitHub
GitHub
Visual Studio Code
Visual Studio Code

I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

  • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

  • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

  • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

  • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

  • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

  • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

  • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

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

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
Jona Koudijs
Jona Koudijs
Infrastructure Engineer at True · | 5 upvotes · 3.6K 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
Logan Campos
Logan Campos
Computer Programmer at cryptosec.dev · | 10 upvotes · 44.3K views
GitHub
GitHub
GitLab
GitLab

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 · 25.8K views
GitLab
GitLab
Go
Go
GitHub
GitHub
Gogs
Gogs

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.

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

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
Abdullah ErdoÄźan
Abdullah ErdoÄźan
Developer at Prizma · | 6 upvotes · 22.6K views
.NET Core
.NET Core
.NET
.NET
Linux
Linux
nginx
nginx
MariaDB
MariaDB
GitLab
GitLab
Git
Git
Visual Studio
Visual Studio

Visual Studio Git GitLab MariaDB nginx Linux

Visual Studio 2019 is increasing my productivity incredibly when I building MVC WebAPI and Web project. GitLab is essential tools for me. Issue boards are great as well as Source code safe in GitLab. The most amazing thing is Microsoft's new strategy on .NET enviroment for me. I love .NET Core 's cross platform support. I can deploy my projects on Linux via nginx and .NET Core runtime or self host options. MariaDB become our first choose database option because of its great talents.

See more
GitLab
GitLab
Bitbucket
Bitbucket
GitHub
GitHub

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 · 32.2K views
atGentlentGentlent
Visual Studio Code
Visual Studio Code
npm
npm
Varnish
Varnish
HAProxy
HAProxy
Kubernetes
Kubernetes
Docker
Docker
GitLab
GitLab
GitHub
GitHub
Git
Git

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
Bitbucket
Bitbucket
GitLab
GitLab
GitHub
GitHub
#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
Slack
Slack
BrowserStack
BrowserStack
Sentry
Sentry
Kibana
Kibana
Visual Studio Code
Visual Studio Code
npm
npm
GitLab
GitLab
GitHub
GitHub
Git
Git
Elasticsearch
Elasticsearch
Postman
Postman
Google Analytics
Google Analytics
MariaDB
MariaDB
GraphQL
GraphQL
Amazon RDS
Amazon RDS
Lumen
Lumen
Laravel
Laravel
Firebase
Firebase
Vue.js
Vue.js
Sass
Sass
Ubuntu
Ubuntu
Amazon EC2
Amazon EC2
Redis
Redis
jQuery
jQuery
HTML5
HTML5
PHP
PHP
JavaScript
JavaScript

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

How developers use Git and GitLab
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 papaver
papaver uses GitGit

been an avid git user for over 6 years. was a little hard to grasp coming from the world of perforce but once it hit me that it was just a glorified patch manager everything fell into place. mainly use the command line interface, most ui's feel bulky and weak.

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

Git has rendered itself to be an integral part of all development at JustChunks. We heavily rely on Git as our version-control-system of choice and use branches, tags and decentralized-development to achieve our software-management-goals.

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 Mountain Stream Software
Mountain Stream Software uses GitGit

the next generation of version control, all others follow older outdated models. Open Source, no fees to use. Can hoist up your own internal server. Can live on a thumb drive. Developers can share from any OS.

Avatar of Jonathan Bro
Jonathan Bro uses GitGit

I use Git because there is nothing else that seems better for backup and working with other developers. However, the learning curve is high and there are times when non-developers must also know how to use git.

Avatar of Eldoria
Eldoria uses GitGit

Git ist ein essentieller Bestandteil unserer Entwicklungsteams. Sei es zur Versionskontrolle, Backupen von Code, dem gemeinsamen arbeiten an Projekten. Durch Git Flow haben wir eine effektive Arbeitsweise.

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 yaswanthgoud3235
yaswanthgoud3235 uses GitLabGitLab

GitLab is a web-based Git repository manager with wiki and issue tracking features, using an open source license, developed by GitLab Inc. The software

How much does Git cost?
How much does GitLab cost?
Pricing unavailable