90 Version Control


In this chapter we review the use of git for the control of versions of documents. The concept of version control is central to a software development project as well as data science and indeed almost any material generated on a computer.

The concept of source code version control is itself very old, dating from the original SCCS (Source Code Control System) and RCS (Revision Control System) I used in the 1970s and 1980s. The 1990s brought CVS (Concurrent Versions System) and SVN (Subversion). Recognising the need for a better supported distributed model of development Canonical (the developers of Ubuntu) developed Bazaar to set the standard for distributed version control systems. Since 2005 GIT provided the gold standard for the state-of-the-art.

Modern version control systems like git support distributed version control where multiple users collaborate through their own local working copies of the repository and branching from the main branch to ring fence specific development. Syncing with the central repository is maintained as required, using the concept of pull requests to review and integrate local changes back into the main branch of the origin.

Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0