Skip to Main Content
It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.
library logo banner

Research Software Learning Online: Git and GitHub

Accessing Git and GitHub

GitHub LogoGit is a version control system that you can use to keep track of amendments to datasets or documents. It is particularly useful if you are writing code or developing software as part of your research.  GitHub is a web-based service that allows you to use Git, share your code with collaborators, make your code open-source, and have others contribute to the development of your code.  The University hosts a private GitHub repository that can be accessed from: https://www.bath.ac.uk/services/github-enterprise-version-control-system/. You can access guidance documentation through the GitHub Guides.  Git is available to students on the University-managed PCs throughout campus and via UniApps and UniDesk.

The DoctoralSkills Research Software Skills course delivers workshops to doctoral students on version control with Git. However, the lesson materials are available online for you to refer to (under 'Lesson Materials'). 

 

Image: CC BY https://commons.wikimedia.org/wiki/File:Font_Awesome_5_brands_github.svg

Please note that O'Reilly deletes content in December and June. If you are linking to courses on this platform we advise that you check that they are still running in January and July of each year. 

Searching for more courses on Git and GitHub

You can search for more courses and resources for learning Git and GitHub on O'Reilly Learning. Enter 'Git' into the search bar on the home page. We recommend that you filter the results: 

  • use the 'Format' filter to filter by resource type: courses are listed as 'Learning Path' or 'Video'
  • use the 'Topic' filter to filter for courses specifically on Git and GitHub

If you cannot see 'Learning Path' and 'Video' as an option under the Format filter you should delete the site cookies and refresh the page. 

Getting started courses

These courses are suitable for those new to Git and GitHub and are generally short introductory courses. The majority of courses listed under ‘Intermediate and Advanced courses’ are also suitable for beginners and are significantly more comprehensive. Therefore, have a look at all of the courses on offer and decide how much detail you want to learn. 


Learn Git in 3 Hours (3 hours)

This is an introductory video course that is suitable for those who are completely new to using Git. The course covers: 

  • What is version control and what is the TerminalLearn git in 3 hours
  • Installing and configuring Git
  • Git basics
  • Branches and workflows

Git and GitHub: The Complete Git and GitHub Course (3 hours)

This video course is for those new to Git and GitHub and who need some Terminal basics as well. The course covers: 

  • Git basics: installation and creating a repositoryThe complete git and GitHub course
  • Undoing things
  • GitHub basics
  • Working with branches
  • Merging branches
  • Merging on GitHub
  • Forking and contributing
  • Collaboration

Git and GitHub Crash Course (1.25 hours)

This course is designed to guide you through working with Git and GitHub. You will start by learning how to install Git and initialize a new Git repository on Windows, Mac, and Linux/Unix systems and then understand how to use it on the command line.

Next, you will learn the four types of objects in Git: blobs, trees, commits, and annotated tags. Each object Git and GitHub Crash Course book coverhas a unique SHA1 hash. All objects are stored in the folders. Every object has just a single reference to it-SHA1 hash. Files are stored in blobs. Filenames are stored in other Git objects called trees.

The videos will guide you through making changes, staging them, and committing them afterward. Also, you will learn and practice how to observe commits tree and checkout different commits to “travel in time” between different states of the Git repository.

By the end of this course, you will be well-versed with the basics of Git and GitHub.


Git Essentials LiveLessons (3.5 hours)

This is an introductory video course that introduces you to the key functions of Git and GitHub. The course covers: 

  • Introduction to GitGit essentials
  • Using Git: the basics
  • Collaborating with Git
  • Forking workflow of collaboration

Intermediate and advanced courses

Many of these courses are suitable for those new to Git and GitHub but go into more depth than the basic introductory courses. They are designed to develop intermediate and advanced skills. The video courses can be used as a reference to dip in and out of for those who do not need to learn the basics of Git and GitHub. 


Learning Path: GitHub (10 hours)

This is an introductory learning path course that is suitable for those who are new to using Git and GitHub but it is useful if you are already familiar with the basic command line. The course uses public GitHub but you could use the University GitHub for the training course as well. The course covers: 

  • Setting up your GitHub accountundefined
  • Setting up and forking a repository (‘repo’)
  • The GitHub workflow
  • Cli and desktop apps
  • Github markdown
  • Socials: subscribing and following people
  • Managing issues and fixes
  • GitHub security
  • Repository management
  • Integrating with external services
  • Using the GitHub API

Collaborating with Git (6 hours)

Author and educator Emma Jane Hogbin Westby takes an unconventional approach to teaching version control with Git. 

Along the way, you’ll learn several Git hacks to help you be more efficient. And that means navigating Git from the command line. Many people prefer the “convenience” of a GUI, but in the long run, learning commands is quicker and easier than clicking various buttons on a succession of screens.

  • Create a visual map of Git by sketching your own diagrams
  • Use an example project to get started with hosted Git repositories
  • Learn how to upload changes and merge work with branches
  • Work with tags to pinpoint specific commits in the history of your work
  • Find and fix bugs by comparing “working” and “non-working” states
  • Learn how to undo your work with rollbacks and resets
  • Clean up your commit history with rebase
  • Move your sample project from GitLab to GitHub
  • Learn how to collaborate on GitHub and BitBucket

Complete Git Guide: Understand and Master Git and Github (18 hours)

This is an in-depth video course for those who are keen to fully understand Git and GitHub. It is suitable for those who are new to Git and GitHub but is possibly most useful as a course to dip in-and-out of as needed. The course covers: 

  • Introduction to Git and GitHubComplete Git Guide‚Äč
  • Configuration of the Shell
  • Basic Shell commands
  • How Git works under the hood
  • Basic Git operations
  • Git branches and HEAD
  • Cloning, exploring and modifying public repositories
  • Merging branches
  • GitHub and remote repositories
  • Git push, fetch and pull
  • Pull requests
  • Working with collaborators
  • Forks and contribution to public repositories
  • Git tags
  • Rebasing
  • Ignoring files in Git
  • Detached HEAD
  • Advanced Git