Version control

Andrew Irwin, a.irwin@dal.ca

2024-01-23

What is version control software for?

  • Managing changes to files

  • Tracking versions between major revisions

  • Sharing data, code, and results with team members

  • Sharing data, code, and results with the world

Why is version control software important for visualizations?

  • Manage changes to data

  • Facilitate collaboration

  • Organize revision to methods

  • Manage your archive of past methods and results

  • Distribute data, methods and results

Core git concepts

  • Working directory

  • Repository

  • Stage (add) files

  • Commit to repository

  • Commit messages

What is github?

  • Internet service to manage repository in remote location (“remotes”)

  • Collaboration tool

  • Many other services (error checking, websites, teams, feedback)

  • Need a free account. Sign up at github.com. Send me your github ID.

How to use git and github with Rstudio?

  • Create a project with a git repository

  • Use the “git” pane to stage, commit, and push to remote (github)

Demonstrations

  • See step-by-step instructions in lesson 6

Suggested reading

  • Course notes: Version control

Similar presentations from other courses:

More advanced material:

Demo + Practice

  • Live demo in class.

  • Practice this skill in Assignment 1