Git 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').
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.
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:
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.
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.
This is an introductory video course that is suitable for those who are completely new to using Git. The course covers:
This video course is for those new to Git and GitHub and who need some Terminal basics as well. The course covers:
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 has 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.
This is an introductory video course that introduces you to the key functions of Git and GitHub. The course covers:
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.
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:
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:
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:
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: