Version Control

Version control is the process of managing file (or record, or dataset) revisions. It is particularly important for files that undergo numerous revisions, where there are multiple members of a research team, or when files are shared across multiple locations. Version control ensures you’re working with current versions and that you’re not wasting valuable research time or putting data at risk.

Basic version control can be achieved by assigning unique file names and keeping a version control table to record changes. Other strategies include using version control facilities within the software you are using (see the UK Data Archive's guide to applying versioning in MS Word), or using file sharing services such as Dropbox or Google Drive, and controlling rights to file editing and manually merging edits by multiple users. You might also consider using specific versioning software such as Git or Mercurial (see also the list below).

Best practice is to:

  • Decide how many versions of a file to keep, which versions to keep, for how long and how to organize versions.
  • Identify milestone versions to keep, e.g., major versions rather than minor versions (keep version 02-00 but not 02-01).
  • Uniquely identify different versions of files using a systematic naming convention.
  • Record changes made to a file when a new version is created.
  • Record relationships between items where needed, for example between code and the data file it is run against; between data file and related documentation or metadata; or between multiple files.
  • Track the location of files if they are stored in a variety of locations.
  • Regularly synchronise files in different locations.
  • Identify a single location for the storage of milestone and master versions.

(Source the UK Data Archive Guide)

The following is a link to a simple version control table format, Version Control Table Template.