Git is the most widely used modern version control system (VCS). Software developers generally use it for coordinating their work during collaborative development processes.
Originally developed in 2005 by Linus Torvalds, the creator of the Linux kernel, Git is an actively maintained open-source software. A great number of software projects rely on it for version control.
Git is an example of a Distributed Version Control System (DVCS). Instead of having one single place for the full version history, every developer’s working copy of the code is also a repository that can contain the full history of all changes. In addition to the distributed architecture, Git seeks performance, security and flexibility.
Git algorithms take advantage of deep knowledge about common attributes of real source code file trees, their access patterns, and how they are usually modified over time. It has reliable and robust performance compared to many other types of VCS-s. For example, it is easy to constrain all changes occurring in a code as well as a simple comparison and merging of version branches. This enables optimizing systems for better performance.
File contents and the relationship between different file directories and commits are all secured through cryptography using an algorithm known as SHA1. This protects the code against accidental or malicious change and ensures that the history is fully traceable.
Git supports different nonlinear development workflows. It is efficient for both small and large projects and compatible with many existing systems and protocols.
Git sometimes gets criticism for being difficult to learn. For new users, the terminology may be unfamiliar or different from other VCS-s. However, once the developer teams learn it, they can benefit from an increased development speed.
Find out more on Git homepage