I am being used to programming on *nix systems for many years. I quite early discovered the interest of using source code managers (SCM's) such as CVS at first, then Subversion (also called SVN) when it imposed itself as a valid replacement for CVS.
I used them a lot, first for simplifying some collaborative working tasks, such as code sharing and history keeping, and second for home projects, in a easy way for backup, history tracking, and working on the same set of files on different computers at the same time.
This came to become seriously problematic when I tried to use Subversion for both collaborative work, and centralizing my work among different computers.
And then, Git appeared, and it solved all my problems.