Version control tools are a standard part of the software development process. Version control tools, such as git and mercurial, allow developers to create revisions, roll back to older revisions, work on multiple features or bugfixes at the same time with branching, collaborate with others easily, and mark certain revisions as releases.

Software Carpentry has various tutorials geared towards researchers who write code, including a presentation on best practices. These best practices include using a version control tool.

Git

  • Pro Git (book): The definitive guide to Git. The first two chapters are essential to using Git on a daily basis. The rest of the book provides valuable information for collaborating on a team, tricks for increasing productivity, and advanced information on how Git works internally.
  • Software Carpentry’s Git Lesson: A nice introduction to using Git, with emphasis on using it in a research environment.
  • GitHub’s Introduction: Short introduction to getting Git installed and working with GitHub. This is a good tutorial if you will be use GitHub.
  • Bitbucket’s Introduction: Short introduction to getting Git installed and working with Bitbucket. This is a good tutorial if you will be using Bitbucket.

Mercurial

  • Mercurial: The Definitive Guide (book) The standard introduction to Mercurial. It’s relatively old (from 2009), but still accurate. Good to read if you will be collaborating with others on a project and for having the most efficient workflow possible.
  • Software Carpentry’s Mercurial Lesson: A nice introduction to using Mercurial, with emphasis on using it in a research environment.
  • Mercurial’s Wiki: Very short introduction to Mercurial, with the minimum amount of material for daily usage.