Appendix D. Why use version control?
You may sometimes find yourself speaking to people who aren’t familiar with version control concepts or why version control systems are useful for managing changes to text. This appendix provides a simple but effective argument for convincing others why version control is useful and important.
A common problem when dealing with information stored on a computer is handling changes. For example, after adding, modifying, or deleting text, you may want to undo that action (and perhaps redo it later). At the simplest level, this might be done by clicking Undo in a text editor (which reverts a previous action); after new words are added, it may be necessary to undo these changes by pressing Undo repeatedly until you return to the desired previous state.
A naïve method for handling multiple file versions is often to create duplicate files with different filenames and contents (Important Document V4 FINAL FINAL.doc may sound sadly familiar). An example of this approach can be seen in figure D.1.
At a more advanced level, you may be sharing a document with other people and, rather than just undoing and redoing changes, wish to know who made a change, why they made it, when they made it and what the change was, and perhaps even store multiple versions of the document in parallel. A version control system (such as Git) allows all these operations and more.