About the course:
Our instructor-led Git Training Course will give you hands-on experience of using Git to keep an iron grip on Version Control in your software product development lifecycle.
Git will allow you and your dev team to check code in and out of your repository, revert files or even whole projects back to previous states, report upon file changes over time, keep an audit trail of who edited what and when, and how to avoid pitfalls in branching, merging and other things that can fork off.
This practical Git course is heavily based around solving real world problems - you can take away all the samples at the end of the workshop.
Let us know if you'd like to discuss customised on-site / remote delivery as a standalone workshop or part of a wider training programme.
By the end of this course, you will have learnt:
- What Git is and why you should use it
- Setting up Git
- Integrating Git with your IDE
- Tagging
- Branching
- Merging
- Workflow
- Popular public and private hosted Git options (Github, Gitlab, Bitbucket...)
Who should attend
This course is aimed at Software Developers and Systems Administrators who are looking to use Git take control of Version / Source Control for their software projects.
Prerequisites
Delegates will ideally have some experience of programming / scripting and using Windows, MacOS X or Linux with the Command Line - please let us know if you need help with this as we can organise a short workshop to get you up to speed with the essentials.
Live, instructor-led online and on-site training
We appreciate that you need flexibility to fit in with new working situations - whether you're an individual, part of a distributed team, or simply have projects and deadlines to meet.
Our remote training can take place online in a virtual classroom, with content split into modules to accommodate your scheduling challenges and meet your learning goals. Get in touch today to find out how we can help design a cost-effective, flexible training solution.
As soon as it's safe, we'll return to also offering the on-site custom training courses and programmes upon which we've built our reputation.
Git Training Course Syllabus
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