Summary and Setup

This is a Byte-Sized RSE lesson on intermediate Git, part of the Byte-Sized RSE Series.

Learning Objectives


At the end of this lesson, learners should be able to:

  • Understand the purpose and benefits of using Git branches in collaborative projects, especially the feature branch workflow.
  • Compare Git merging strategies (fast-forward, 3-way merge, rebase, squash and merge) and understand when to use each.
  • Gain familiarity with intermediate Git features, including cherry-picking, stashing, and resetting.

Setup


Prerequisite
  • Shell with Git version control tool installed
  • Ability to navigate filesystem and run commands from within a shell
  • Account on GitHub.com
  • Understanding of Python syntax to be able to read and follow code examples

Shell with Git

On macOS and Linux, some version of a shell (e.g. bash) with Git will be available by default and no installation is needed.

If you do not have a bash shell installed on your system and require assistance with the installation, you can take a look at the instructions provided by Software Carpentry for installing shell and Git.

GitHub Account

GitHub is a free, online host for Git repositories that you will use during the course to store your code in so you will need to open a free GitHub account unless you do not already have one.