Git is one of the most popular version control systems and is quickly gaining prominence. It is used on multiple cloud hosting services, including Amazon’s EC2 and Heroku, and has vibrant usage among top open source communities.
Which means that if you want to make use of Amazon or Heroku’s awesome server power or contribute your code to an open source project, you have to know how to participate by using git.
How Git works
Git is an open-source version control system (meaning, it’s free!) that allows developers to track changes made on their code files throughout the lifetime of a project. Git is designed such that it views your code files like a “tree” and allows you to do cool things like create a “branch” where you work on some of the files without affecting the “trunk” code base until you are sufficiently convinced that the changes you are making are good and won’t break the rest of the tree.
If you are alone working on a project git is a great way to track the changes you make and also safeguard yourself from making a silly mistake that breaks your web app or, worse yet, accidentally delete months of work.
Where Git really excels, however, is for projects where more than one developer is working on the code. The tree-like architecture we described above allows many developers (up to hundreds!) to work on a project at the same time without the code devolving into one big hairy mess.
Git was initially created by Linus Torvalds to be used on Linux kernel development with a large, distributed team of developers. Since the Linux kernel project is very large and the development was distributed among developers all over the world, Torvalds designed Git so that it would be fast and good at distributed version control. The beauty of Git is that it allows developers to easily merge changes into the master code base and encourages developers to be experimental, because Git allows you to make changes locally and not have to push to a centralized repository until you are ready.
How is Git different from other version control systems?
Git is a great version control tool because it’s lightweight and straightforward to use, and it provides incredible compression and speed.
Since Git is so popular, and the Git community is so robust, thanks in large part to the popularity of Github, learning Git is one of the best things you can do in your process of learning development.