Differences and advantages between GitHub and GitLab

18

Good afternoon. Today I became aware of GitLab, I saw that many heavyweight companies use it as NASA and SpaceX, and would like to know what are the differences of it with GitHub, main advantages and disadvantages in using it, whether it is worth using it together with GitHub, or just choose and use only one of the two, etc.

    
asked by anonymous 26.07.2017 / 21:01

5 answers

23

A basic comparison can be found in this page and has been translated freely here:

Release date:

  • GitLab: September 2011
  • GitHub: April 2008

Both are on the market at a very considerable time and are reliable.

Price:

  • GitLab allows you to create numerous public and private repositories for free, as well as numerous collaborators;
  • GitHub: allows for the creation of numerous free public repositories and private repositories in paid plans;

If you want to use the service without exposing the source code, use the GitLab private repositories. If you want to expose the code, it can be either GitLab or GitHub.

Code review tools:

  • GitLab: has;
  • GitHub: has;

It was not clear on the site what was considered as code review tools, but says they both have.

Wiki Support:

  • GitLab: has;
  • GitHub: has;

On both platforms it is possible to create Wikis for the repository for free.

Bug Tracking:

  • GitLab: has;
  • GitHub: has;

Both platforms have issues control systems for error handling and bugs .

Private branchs:

  • GitLab: allows private branch creation for free;
  • GitHub: allows private branch creation only on paid plans;

CI / CD system:

  • GitLab: has free native CI / CD tool (Gitlab-CI-CD);
  • GitHub: depends on third-party tools (usually Travis-CI);

Although GitHub works very well with Travis-CI, Gitlab has a native system, so you do not have to depend on third parties.

Popularity:

  • GitLab: 100,000+ projects;
  • GitHub: 35,000,000 + projects;

Such data is probably outdated, but certainly the number of projects in GitHub far outweighs GitLab. If your project is OpenSource and you expect to have input from the community, GitHub is certainly more appropriate. If you do not expect the community to naturally contribute, GitLab does.

GitLab's graphical interface counts a lot. It is nicer to use than the GitHub interface, although this is a private opinion and does not imply that the GitHub interface is bad. Other points that may affect the choice are integrations with other third party tools in addition to CI / CD. GitHub works very well with leading tools on the market, while support for GitLab is much more limited.

    
26.07.2017 / 21:44
7

Response to complement others that already respond well.

Github is from Microsoft. As the purchase is recent we still do not know what can happen. It should not change anything for open source projects, and for private projects, if you change, it is to have free accounts as already occurs in VSTS, including using Git. Otherwise, you should have more integration, optional with other Microsoft services, without leaving aside all that exists of other products, even competitors. It's good to remember that Microsoft has partnerships with its competitors, such as Canonical and Amazon, Apple (I think it's still an important shareholder, few know of it, it was it that saved Apple from breaking in the 90s), just to name a few , if it looks good it has partnerships with everyone, nor can not have, these companies depend on each other.

I have said all of this to indicate that it has a prosperous future in improvements and sustainability. For those who do not know, Github was extraordinarily deficient and there was no indication that it could reverse that.

GitLab should suffer from the same problem as Github. If Github was unsustainable and the absurd success it was, imagine the Gitlab that offers almost everything for free. Either they break or they will be bought by an industry giant. Take this into account when using one or the other. Of course it's less risky if you use on-premisse , but you'll have to take care of it yourself. In addition, if something goes wrong, it will not do much to sue such a small company, Microsoft has a lot more at stake and needs to be much more responsible.

Today private repositories are cheaper in Gitlab, but something tells me that this will change, at least for small projects, that is, Github tends to be free under certain conditions. Just my opinion, no inside information.

I believe that Github will start to have better integrations, already have, but not native.

Time will tell what will happen. I just assure you it will not be the cataclysm you are anticipating.

The fact that a particular company does not want to say a lot, including why it can use other technologies, can do things you do not even know, that can be absolutely secondary, and can meet their demand, but not yours. Contrary to popular belief, if a large company uses well, it has a reasonable chance of not being good to you. It might be cool, but it could be a cannon to kill bird.

And before I forget, Gitlab runs within the framework of Microsoft: D

I've seen they're shifting to Google. That is, they are making engineering decisions because of marketing, to move away from a competitor (even they have it that the process started (weeks) before, the Github purchase process too, and these things are not kept secret). And between Google and Microsoft, who else is evil today ? Think well! They say at least Google did not buy them. Is not that a first step? Google paid a lot for them to go there. Do you believe it is for no reason? Gitlab is cool, but I do not understand why I trust them any more than Github.

    
05.06.2018 / 17:45
5

GitHub and GitLab, despite the name, are different services.

GitHub

It's basically, to date, a Git repository storage service, with some features like: pull request (not a native Git feature), Issues , fork , ...

GitLab

In addition to the services that GitHub offers, implemented by GitLab, that is, it is not a copy; also has CI service, CD , etc. See the entire list in this list of GitLab features

If you hire GitHub, you'll have to use another CI tool, for example AppVeyor or Jenkis ; another for CD, for example Octopus . I would compare GitLab more with the Atlassian Atlassian services and VSTS , which has several integrated tools to cover the entire software development pipeline.

That is, IMHO, if you want a complete solution for software development, analyzing GitLab, Atlassian or VSTS is better. If you are going to develop Open Source software, GitHub gives you more visibility, the community is bigger. But everything will depend on the features you want to use.

    
27.07.2017 / 00:21
1

GitHub is the largest and most popular GIT repository storage service. It's also older than GitLab and maybe that's why it's so popular. If you just want to host your code, the disadvantage of GitHub is the price: unlike GitLab, you do not have the option of private repositories in free version.

If you'd like more options devops , GitHub has a nicely stuffed marketplace with more options than GitLab

I now use GitLab more because I can use private repositories but this goes beyond your need.

    
13.04.2018 / 15:22
0

In the way you will work it will not change at all, both are services that offer solutions for using git.

The big difference will be in what is your purpose, if you are developing something OpenSource, it might be interesting you opt for Github, after all you can not deny that the community there is much more active than in other services.

Whether you're thinking of using it for some more private use, Gitlab might be a good choice for offering private repositories and unlimited users features even in your free plan

>     
26.07.2017 / 21:21