I'm trying to understand the pros and cons of the two from experienced developer's point of view. Of course Github is the more widely used of the two, but if someone could explain in general terms what they find better/lacking in either, that would be great.
(I use Github at the moment, by the way).
GitHub is more user-friendly as it does not require familiarity with Linux shell. On the other hand, GitHub's Save Changes takes a very long time, about 10 min, while GitLab's reconfigure is stored as-code and takes about a minute. GitLab backup is a command-line utility, which runs on the same Linux server as GitLab.
For self-hosted private repositories, GitLab is the better choice. You can get started without having to pay any monthly subscription fee. Both options are great for open source projects, with GitLab offering premium features for free and GitHub offering access to a larger pool of active open source developers.
While Git is a tool that's used to manage multiple versions of source code edits that are then transferred to files in a Git repository, GitHub serves as a location for uploading copies of a Git repository. In a sense, then, there's no comparison when it comes to Git vs. GitHub as far as their function.
Gitlab is a self-hosted git server. I have used both (plus bitbucket) and I don't see much difference in terms of functionality. Github's UI is far more advanced, and they offer some custom features (e.g. Releases).
At Github , by default, you do not have any private repos ( ones only you and your team can access ). with Gitlab you have unlimited of them.
Edit: as pointed out by Bahman.A in the comments, this is no longer true
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With