In 2005, Linus Thorvalds, creator of Linux, began, more or less against his own will, developing a new software for version management. The reason: due to a licensing change with BitKeeper, Linux Kernel developers lost their free accesses to the software system. What came in its place was a new system that features similar working structures as those found within BitKeeper. Safeguarding against involuntary changes and high efficiency are additional tenants of this new system. After just a few days of work, Thorvalds presented his first version of Git.
Git is supported by a distributed version control system. And while there’s a central repository into which all changes flow, all users are still able to download their own working copies. This gives users access to the entire repository, including the history, and frees them from having to maintain a constant connection to the network. What’s more, changes are quickly transferred into the main repository. In accordance with this setup, Git doesn’t offer a lock system; instead, each user generates its own branches that are then uploaded into the main repository.
As per default, each user also is allowed read and write permissions for the entire directory (different access rights require different main directories to be set up). Every working copy is a distinct backup of the main directory, which is particularly advantageous should it malfunction or incur any damage. Git only records the directory’s content, which is why empty directories are automatically deleted.