In this chapter, we are going to have a swift look at some of the most popular Git repository managers currently available out there in the wide wild world. Some of them are pure Git cloud hosting services and others are there to be self-hosted Git services.
GitHub is unchallenged and by far the most popular and used Git repository manager out there.
GitHub was acquired by Microsoft in 2018. It is written in Ruby and uses Elasticsearch in the back to index the millions of code repositories it serves.
Besides all the functionality from Git, it also offers its own unique features. As a side note, the search engine Elasticsearch itself is also hosted on GitHub.
GitLab is a complete software development lifecycle tool which provides a wiki, an issue-tracking, CI/CD pipeline and a Git repository manager.
Big companies like IBM, Sony, Oracle, CERN and Boeing, just to name a few, are using GitLab. It is written in Ruby on Rails, GO, and VUE.js.
GNOME, the free open source desktop environment with its over 400 projects moved in 2018 to GitLab.
Bitbucket, formerly known as Stash, is owned by Atlassian and written in Java.
Bitbucket is mostly used for code itself and for doing code reviews, and that is where a Bitbucket is really strong in. It has really good support for documenting code reviews, which is especially helpful when working in regulated environments.
There's also a cloud version of Bitbucket which is written in Python using the Django web framework.
GitBucket is an open source, self-hosted repository manager powered by Scala and running on the JVM.
For GitBucket, there do exist a few community driven plugins which can additionally be installed.
Gogs is likewise an open source, self-hosted repository manager. It is written in GO and the code for it is hosted on GitHub.
Finally, my all favorite is Gitea, which I use in my workshops. Gitea is an open source, self-hosted Git service.
It is a community fork of Gogs and also written in GO. I like Gitea because it feels light, fast and fresh.
That's it for this chapter. From here on, it is up to you now which Git repository manager you would like to experiment with in the future.