For the purposes of this book, Git will be discussed as the primary version control tool. In a pure client-server context, the Git client is responsible for checking-out/ checking-in code, as well as cloning and building repositories.

The Git server can be used to build a distributed version control system for an organization or department. The use of a Git server that will be maintained organizationally or departmentally will be based on requirements and constraints outlined during the requirements-gathering phase. It is critical to review this criteria with business stakeholders, particularly security and audit departments.