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. 


Complete Git and GitHub Masterclass: Beginner to Git Expert (11.5 hours)

This is a video course that is suitable either for those completely new to Git and GitHub or for those with a basic working knowledge who want to dip in and out of the course to learn about specific functions or features. The course covers: 

  • An introduction to GitComplete Git and GitHub Masterclass
  • Git setup up and installation
  • Setting up a Git repository
  • An introduction to GitHub
  • Committing changes in Git
  • Inspecting a Git repository
  • Git branching basics
  • Undoing changes in a Git repository
  • Pushing into GitHub
  • GitHub via SSH
  • Custom Bash prompt in Git
  • Installing text editor for Git
  • Installing Diff and Merge tool
  • Git comparison with Git Diff tool
  • Deep dive into Git commands
  • Branching and merging techniques
  • Commit history rewriting
  • Git tagging
  • Git toolset
  • Making Git bash friendlier and productive

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

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

Conquering Git: Advanced Training Guide (4 hours)

This video course is for those who have a solid understanding of working with Git and who want to learn some advanced skills for Git. The course covers: 

  • Git stashingConquering Git advanced training guide
  • Branching under the hood
  • Rebase
  • Tagging
  • Git sub-projects
  • Git Hook
  • Git bisect
  • Git Flow
  • Git administration
  • Git Best