Whenever I’m asked about the pros of switching from an older version control systems (VCS), such as CVS or Subversion, to git; I answer with this short statement: git branching model. Once you learn to use it you will ask yourself how on earth did I work without it? Indeed, the way git handles branches sets it high above other (if not all) VCS systems. As a matter of fact, I really believe that this single feature is sufficient reason to switch to git.
What exactly is a branch? A branch is a line of development. This is a high-level definition, unconcerned with implementation-specific aspects. Technically speaking, a branch ...