Git is an open source (free) Distributed Version Control System (VCS). It’s the most popular and most widely used version control tool.
Version control system (VCS): Is a system that keeps track of every single change or modification to a source code. It helps software teams or developers to efficiently manage all changes that have been made to the source code over time. In a situation where a mistake is identified, the team or developers can compare the differences in the code versions and revert to the last stable point to fix the mistake with less disruptions to all team members.
Examples of VCS include: Perforce, Mercurial, SVN, Git, CVS,
If you are looking to build up skills in version control for software development, Git should be one of your considerations.
Official Git Website
http://git-scm.com/
If Git is a distributed Version Control System (VCS), does it mean there are Centralized Version Control System?
Yes, examples of Centralized Version Control System (VCS) are Perforce, Subversion (SVN), CVS.
The main difference is that Centralized VCS keeps the history of changes on a central server from which everyone gets the latest version of the files and pushes the latest changes to it. This means people sharing the server also share other peoples’ work.
Whereas in Distributed VCS, everyone has a local copy of the entire work. Which means you don’t necessarily have to be online to make changes to the work.
In the centralized VCS, a central server repository (repo) keeps the “official copy” of the code
You “checkout” files to your local repo but your changes are not versioned
Checkout means you make a copy of that file or directory locally
You “checkin” when completed
In distributed VCS like Git, and Mercurial,
You “clone” and “pull” changes from the server
Your local repo is the same as what is on the server.
You make all changes locally on your repo and “push” changes back to the server.
Check out our post on some useful basic Git Commands here