Git – Overview
Git is a open-source software which is also called as Distributed Version Control System (VCS). It is developed by Linus Torvalds, the creator of Linux kernel for maintaining each and every version of Linux itself. Git belongs to the 3rd Generation of Version control systems. Generation of version control systems are classified as based on the type of networking (i.e 1st generation had no networking, 2nd generation has centralized networking while 3rd generation has distributed networking). Since 3rd generation has distributed networking, Git is called as Distributed Version Control System.
Why I have chosen Git for this post ?
Git is not the only Version Control Software available today. There are number of other Software exists too like Subversion (used by google code projects), Mercurial (used by Mozilla Firefox), Bazaar (used by Ubuntu developers), Veracity. The reason for choosing git to write this post is Git has become more popular as a 3rd generation VCS (may be due to the Linux kernel being popular or because of Linus Torvalds being popular or even because of Github.com and moreover I am a git user).
What is Version Control System ?
What does a Version Control System mean? We are using variety of Software everyday. Let us consider “Mozilla Firefox” as an example to learn about VCS. Can you check what version of Firefox you are using now?
To do that Open Firefox -> Help Menu -> About Firefox. I am using Firefox 17.
You might be using some other version of Firefox. I remember when I started using Firefox, it was Firefox version 3 and now today am using version 17. Firefox has come a long-way evolving into one of the best, fast and secured browser of today. With every new version, Bugs (errors) with previous versions are fixed, new features are introduced. Firefox being Open-source project, there are lot of people around the world involved in coding firefox to make it better. So when more than 1 person is handling the same code of firefox around the world, now arises a problem of consistency i.e Person A is modifying the code, at the same time Person B is also modifying the code and so on, if that is the case the Modified code of Person A is different from the Modified code of Person B. Managing these modifications to maintain the code of Firefox without any confusion is called Maintaining the Consistency and this is the job of Version Control Systems.
Who are using Git ?
Git is used by huge number of organizations and Individuals, out of which Google, Facebook, Qt, Microsoft, Twitter, Android, Linux, Gnome, KDE, Rails, Xcode, LinkedIn, Eclipse IDE are notable. No matter git has proved to evolve into being one of the best DVCS of today.
To Install Git in Debian / Ubuntu / LinuxMint or their derivatives
sudo apt-get install git
To Install Git in Redhat / Fedora / CentOS or their derivatives
sudo yum install git
Git is a Command-line tool, even though there are some software for using git via GUI, they are not as flexible as using git via command line. I highly recommend you to start using git via command-line.
To know more about Git, below are the following resources:-