Git on the server
The previous chapters should give you enough knowledge to master most of the day-to-day version control tasks. The Chapter 5, Collaborative Development with Git, explained how one can lay out repositories for the collaboration. Here, we will explain how to actually set up remote Git repositories to serve.
The topic of administration of the Git repositories covers a large area. There are books written about specific repository management solutions, such as Gitolite, Gerrit, GitHub, or GitLab. Here, you will hopefully find enough information to help you with choosing a solution, or with crafting your own.
Let's start with the tools and mechanisms to manage remote repositories themselves, and then move on to the ways of serving Git repositories (putting Git on the server).
Server-side hooks
Hooks that are invoked on the server can be used for server administration; among others, these hooks can control the access to the remote repository by performing the authorization step, and...