June 2, 2015
Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.
(includes git, cvs, svn, mercurial)
2013-10-14_manuscriptFish.doc
2013-10-30_manuscriptFish.doc
2013-11-05_manusctiptFish_intitialRyanEdits.doc
2013-11-10_manuscriptFish.doc
2013-11-11_manuscriptFish.doc
2013-11-15_manuscriptFish.doc
2013-11-30_manuscriptFish.doc
2013-12-01_manuscriptFish.doc
2013-12-02_manuscriptFish_PNASsubmitted.doc
2014-01-03_manuscriptFish_PLOSsubmitted.doc
2014-02-15_manuscriptFish_PLOSrevision.doc
2014-03-14_manuscriptFish_PLOSpublished.doc
Everytime you make a save, you zip the entire directory that your project files are in and save it with a date.
https://github.com/ropensci/RNeXML
Code for RNeXML R package, plus RNeXML publication in RMarkdown
Version control systems start with a base version of the document and then save just the changes you made at each step of the way.
You can think of it as a tape: if you rewind the tape and start at the base document, then you can play back each change and end up with your latest version.
via Software carpentry
You can then think about “playing back” different sets of changes onto the base document and getting different versions of the document.