Git is a version control program created in 2005 to manage the source code of the Linux kernel. Linus Torvalds considered that none of the alternatives available were sufficient in terms of function or performance. He had long used a commercial system (BitKeeper), but lost his free license after a controversy.
Git is a distributed version control system, which means that no central archive is required and that anyone can create their own copy. Some archives can be said to be more important than others, for example the archive where the official Linux version is published, but this is not for technical reasons but purely social conventions.
Git is built to fit the working methodology in large open-source projects. Therefore, there are programs for sending and receiving changes in the form of patches via e-mail, as well as logging who did what without anyone having to administer registers of developers. Versions are identified using the SHA-1 crypto-algorithm and can therefore be digitally signed if desired, even if the version identification itself in practice protects against tampering. In addition, Git is extremely fast to handle the large volume of source code and changes that the Linux kernel requires.
Git is basically terminal-based (CLI). There are also add-ons (plugins) to standard development tools that make it possible to use Git from within the current tool – for example EGit. There are also separate tools with graphical user interfaces (GUI) that can be used to use Git – for example TortoiseGit and gitk.
There are several tools that facilitate transition from or parallel management as well as other version managers such as CVS or Subversion. There are also tools for simulating a CVS server.