Introduction to Version Control

Introduction to Version Control#

One 2-hour session

This workshop covers the fundamentals of using version control systems for reproducible research. Topics covered include what version control is, key concepts and terminology, how to install the Git version control system, how to create a repository, how to save versions of files, how to restore old versions of files, and how to use hosting services for Git repositories to share and collaborate on projects.

Learning Goals

After completing this workshop, learners should be able to:

  • Explain the purpose of using a version control system (VCS)

  • Explain the difference between centralized and distributed version control

  • Explain what a repository is

  • Explain what Git is

  • Initialize a Git repository

  • Check the status of a Git repository

  • Explain what the Git working tree and staging area are

  • Inspect and stage changes to a Git repository

  • Commit changes to a Git repository

  • View the history of commits in a Git repository

  • Restore an old version of a file from a commit

  • Explain what GitHub is and how it relates to Git

  • Create an SSH key in order to authenticate with GitHub

  • Explain the difference between a local and remote repository

  • Clone a remote repository to your computer

  • Push changes to a remote repository

  • Pull changes from a remote repository