GNU/Linux Desktop Survival Guide
by Graham Williams
20190611 In this chapter we review the use of git for the control of versions of documents. The concept of version control is central to any software development project as well as data science and almost any material generated on a computer. The concept of source code version control is itself very old. Some of the original tools including SCCS (Source Code Control System) and RCS (Revision Control System) were used in the 1970s and 1980s. The 1990s brought CVS (Concurrent Versions System) and SVN (Subversion) with git providing the current state-of-the-art since 2005.
The modern version control systems support distributed version control where multiple users collaborate through their own local copies of the repository, syncing with the central repository as required. Subversion, for example, does not use the distributed model whilst Bazaar, developed by Canonical, set the standard for distributed version control systems.