Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Advanced Skills in Version Control with Git and GitHub

Packt via FutureLearn


Learn advanced VCS functions in Git and GitHub

Git, the most widely used Version Control System, allows developers to track changes during their source code development process.

On this course, you’ll build on your current understanding of Git operations to optimise your file management, learning the in-depth applications of more complex commands, including Git reset, revert, and log.

Make experimental changes using Git detached HEAD

The detached HEAD state in Git, allows you to revisit and experiment with past commits.

You’ll learn how to make changes and commits within the detached HEAD state and how to retain the changes you make.

With this knowledge, you’ll be able to plot how repositories or individual files have changed over time, and make risk-free changes.

Host your repositories on GitHub pages

GitHub pages allow you to easily upload your repositories, storing your files within its Version Control system.

You’ll be guided through the upload process and explore how to make your repository available for worldwide collaboration and learning.

Automate scripting tasks using Git hooks

Git hooks are scripts that are set to run automatically when particular events occur within your repository.

You’ll take a deep dive into the applications of Git hooks, learning when to implement them and how they can optimise your file management processes, particularly when working with large amounts of data.

By the end of this course, you’ll understand a wide variety of complex operations within Git and GitHub. With this knowledge, you’ll be able to streamline your file management and develop innovative approaches to your source code development.

This course is designed for software developers with an intermediate understanding of Version Control Systems who want to advance their knowledge of Git and GitHub.

You will need to have a setup and installed software to enable you to use version control systems and Git/GitHub. If you’re unsure what those are, we’d recommend you enrol on one of our introductory-level courses in this topic.


  • Rebasing, Ignoring files, and detached HEAD, in Git
    • Introduction to the course
    • Rebasing basics
    • Rebasing steps
    • Rebasing and branches
    • Ignoring files in Git
    • Detached HEAD
    • Wrap up
  • Advanced Git and GitHub pages
    • Introduction to Week 2
    • Git log
    • More Git commands
    • Stashing and squashing
    • GitHub pages part 1
    • GitHub pages part 2
    • Wrap up
  • GitHub hooks
    • Introduction to Week 3
    • Introduction to GitHub hooks
    • Pre-and post-commits
    • Node JS application
    • Syntax checks
    • Wrap up

Taught by

Charlie Travis


Start your review of Advanced Skills in Version Control with Git and GitHub

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.