https://faroukibrahim-fii.github.io/reading-notes/
Let us first start by explaining what does Git do. Git is a CLI DVCS (Distributed Version Control systems) that stores data in a file system made up of snapshots. Each time you save a changed version of your project — called commit — Git creates a snapshot of the file and stores a reference to it.
Git mostly relies on local operations because most necessary information can be found in local resources. This allows for process expediency because a project’s history resides on the local disk, eliminating the need to fetch history information from the server.
Git, as explained earlier, is a Distributed Version Control system, what does that do is basically can make a group of people that are working on the same file/files be able to work on that file without the need to keep multiple versions of same file on each one’s computer. Instead, they only need to work on the exact file while being able to achieved by everyone. This will eliminate the presence of multiple copies of the same file and the problem of finding the final one. Git takes it further, Git depends on the local storage devices to eliminate any data loss due to a network connection loss.
It traces its roots to the open source software project Linux kernel. Developers of this project began using a DVCS called BitKeeper in 2002. In 2005, many of these developers stopped using this DVCS due to tension between the Linux kernel community and the company behind BitKeeper’s and the eventual revocation of the DVCS’ gratis status. Subsequently, Linus Torvalds, the chief architect of the Linux kernel, began creating Git. With the intention of creating a DVCS with a workflow design similar to that of BitKeeper, which was also fast, Git allowed for non-linear development via multiple branches, could support large projects, possessed strong mechanisms preventing corruption, and had a simple design. Since its inception in 2005, Git has become one of the most utilized Version Control Systems in the world.