GIT Training

Our Git training course covers all the basics a student needs to know to be able to use git day-to-day in their development process. It introduces students to the concepts and workflows necessary to understand distributed version control and how its unique features can be harnessed for greater collaboration, smoother, more frequent check ins and code merges. Git is a key tool in implementing a continuous integration and continuous delivery pipeline.

GIT is a powerful, distributed version control system. Distributed version control has many advantages over the traditional, central server, based approach to version control and GIT is one of the most popular implementations. The objective of this course is to enable students to master the most common version control tasks with GIT and to get a conceptual understanding of how GIT tracks changes and how distributed version control works.


Description Days Price (exc vat)

GIT Version Control Training*

R 6,000 $ 450
  • Lunch, refreshments and training material included.
  • Class start at 9:00am for 9:30am
  • South Africa training locations: Johannesburg, Cape Town, Durban
  • Global training locations: USA, Candana, UK, Dubai, Europe


This course is intended for software developers who are already familiar with version control systems such as SVN and CVS or for those with no existing version control experience.

      Course Outline

      Overview of Version Control Systems (VCS)

  • Overview of Version Control Systems (VCS)
  • Motivation for VCS
  • Basic operations (create, checkout, add, status, commit, log, diff, update, move/rename, delete, lock, revert, tag, branch, mer

    Centralized (CVCS) versus distributed (DVCS) version control

  • More basic operations of DVCS (clone, push, pull)
  • Motivation for DVCS

       Overview of Version Control Internals

  • Advantages
  • Weaknesses

       Overview of Git

  • Motivation and history of Git
  • Overview of Git operations
  • Getting started with Git (installation, setup)
  • Local configuration

      Git Object Types

  • Blobs
  • Trees
  • Commits
  • Tags
  • Git Reference Types
  • Object Model Example

      Git by Example

  • Creating a Git repository on a shared server (git init)
  • Managing access control
  • Cloning a remote repository (git clone)
  • Adding files to a local Git repository (git add)
  • Checking for status of files in a local Git repository (git status)
  • Committing files to a local Git repository (git commit)
  • Pushing changes in a local git repository to a remote Git repository (git push)
  • Pulling files from a remote Git repository (git pull)
  • Looking at commit logs/history (git log)
  • Looking at file changes (git diff)
  • Merging files and dealing with conflicts (on git pull)
  • Moving and renaming files (git mv)
  • Deleting files (git rm)
  • Reverting files to their previous state (git checkout)
  • Tagging files (git tag)
  • Creating using branches (git checkout -b branch)
  • Fetching branches (git fetch)
  • Merging files across branches (git merge)
  • Dealing with conflicts on merge