About the course
Unlock the true power of version control and conquer your development challenges with our instructor-led Git Training Course.
You'll get hands-on experience mastering Git, empowering you and your development team to seamlessly manage code check-ins and check-outs, effortlessly revert to any prior project snapshot, and gain a clear understanding of code changes over time with comprehensive audit trails.
Learn how to track every contribution, know exactly who changed what and when, and develop the essential skills to navigate branching and merging workflows with precision, avoiding common pitfalls.
This course is designed to tackle real-world scenarios using your own repository (locally or on platforms like GitHub, GitLab, Bitbucket), ensuring you leave equipped with practical solutions and a wealth of reusable examples.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Understand the fundamental concepts of Version Control Systems (VCS), differentiating between distributed and non-distributed models, and explain the core principles of Git.
- Install and configure Git on various operating systems and set up essential global and repository-specific settings.
- Perform all essential local repository actions, including initialising, staging, committing, and managing files within a Git repository.
- Interact effectively with remote repositories, cloning, pushing, and pulling changes to synchronise local and remote codebases.
- Implement branching strategies to manage parallel development, create new branches, switch between them, and push/pull branch changes.
- Execute various merging operations, including fast-forward and three-way merges, and confidently resolve merge conflicts.
- Utilise Git tags to mark significant points in a repository's history, such as release versions.
- Manage temporary changes using Git Stash for efficient context switching and clean working directories.
- Apply different Git workflows (e.g., Centralised, Feature Branch, Gitflow) to suit various team collaboration models.
- Perform advanced repository actions like reverting commits, cherry-picking, and configuring aliases and hooks for enhanced productivity.
-
This hands-on Git training is ideal for Software Developers DevOps, Systems Administrators who are eager to master version control and gain unwavering command over their software projects.
If you're looking to streamline your development workflows, collaborate more effectively with your team, and ensure the integrity of your codebase, this course will equip you with the essential Git skills you need.
-
To make the most of this practical Git workshop, delegates should ideally have some prior experience with programming or scripting concepts. Familiarity with using the command line interface on Windows, macOS X, or Linux will also be beneficial.
If you're new to the command line, don't worry! We can incorporate the essentials in custom deliveries of this course for you and your team, ensuring you're ready to dive into Git with confidence.
-
This Git course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Introduction
What is a Version Control System (VCS)?
Distributed vs Non-distributed VCS
What is Git and where did it come from?
Alternatives to Git
Cloud-based solutions (GitHub, Gitlab, BitBucket etc)
Installation and Configuration
Obtaining Git
Installing Git
Common configuration options
GUI tools
Key Terminology
Clone
Working Tree
Checkout
Staging area
Add
Commit
Push
Pull
Stash
Git - Local Repository Actions
Creating a repository (git init)
Checking status (git status)
Adding files to a repository (git add)
Committing files (git commit)
Removing staged files (git reset)
Removing committed files (git rm)
Checking logs (git log)
Git - Remote Repository Actions
Creating a remote repository (git init)
Cloning repositories (git clone)
Updating the remote repository from the local (git push)
Updating the local repository from the remote (git pull)
Tagging in Git
What are Git Tags?
Listing tags
Lightweight tags
Displaying tag details (tag show)
Annotated tags
Checking out tags
Pushing tags
Pulling tags
Branching in Git
What is a branch
A note about andlt;HEADandgt;
Listing branches
Create new branch
Checkout branch
Pushing branches
Pulling branches
Merging in Git
Fetching Changes (git fetch)
Rebasing (git rebase)
Git Pull
Git Workflows
Different ways of using Git
Centralised
Feature Branch
Gitflow Workflow
Forking Workflow
Git - Stashing Changes
What is Stashing?
Using Stash
Creating a branch from a Stash
Advanced Repository Actions
Removing untracked files (git clean)
Remove staged changes (git reset)
Revert a commit (git revert)
Checkout a previous commit (git checkout)
Advanced Branching and Merging
Deleting a Branch
Fast forward merge
Three way merge
Resolving merge conflicts
Cherry-Picking (git cherry-pick)
Advanced Git Configuration
Aliases
Submodules
Patches
Hooks
-
https://git-scm.com/ - the home of Git
https://github.com/ - popular Git in the Cloud solution
https://bitbucket.org/product/ - a popular Git choice for Jira users
https://about.gitlab.com/ - another popular Git in the Cloud solution
Trusted by



