Version control systems (VCSs) are the lifeblood of any developer, and while the field might be a bit divided among Git and SVN enthusiasts (no mention for you Mercurial guys), the basic functionalities are still the same.
Let's quickly go through the differences between each VCS, and their advantages and disadvantages.
This is a powerful system, and it has been around for quite some time and is very well known and widely used.
Subversion (SVN) is a centralized VCS; by this we mean that there is a single main source that is recognized as "Good", and all developers check out and push changes from and to this central source.
While this makes changes easier to track and maintain, it has a serious disadvantage. Being centralized also means that we have to be in constant communication with the central repository, so working remotely or without an Internet connection is not possible.