Benefits of Git

The success of hosting large and distributed open source projects, such as the Linux kernel and Python, speaks to the advantages of Git. This is especially significant given that Git is a relatively new source-control tool and people do not tend to switch to a new tool unless it offers significant advantages over the old tool. Let's look at some of the benefits of Git:

  • Distributed development: Git supports parallel, independent, and simultaneous development in private repositories offline. Compare this to some other version-control systems that require constant synchronization with a central repository; this allows significantly greater flexibility for the developers.
  • Scale to handle thousands of developers: The number of developers working on different parts of some of the open source projects is in the thousands. Git supports the integration of their work reliably.
  • Performance: Linus was determined to make sure Git was fast and efficient. To save space and transfer time for the sheer volume of updates for the Linux kernel code alone, compression and a delta check would be needed to make Git fast and efficient.
  • Accountability and immutability: Git enforces a change log on every commit that changes a file so that there is a trail for all the changes and the reason behind them. The data objects in Git cannot be modified after they were created and placed in the database, making them immutable. This further enforces accountability.
  • Atomic transactions: The integrity of the repository is ensured as the different, but related, change is performed either all together or not at all. This will ensure the repository is not left in a partially-changed or corrupted state.
  • Complete repositories: Each repository has a complete copy of all historical revisions of every file.
  • Free, as in freedom: The origin of the Git tool was born out of the disagreement between free, as in beer version of the Linux kernel with BitKeeper VCS, it makes sense that the tool has a very liberal usage license.

Let's take a look at some of the terms used in Git. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset