1. Introduction

Exegetic Analytics is a Data Science consultancy specialising in data acquisition and augmentation, data preparation, predictive analytics and machine learning. Our services are used by a range of industries from Education to Security, Food Delivery to Politics. Our consultants are based in Durban and Cape Town and we engage with clients all over the world. Our products and services are used by a multitude of industries including Aerospace, Education, Finance, Food and Transport.

Exegetic Analytics also offers training, with experienced and knowledgeable facilitators. Our courses focus on practical applications, working through examples and exercises based on real-world datasets.

All of our training packages include access to:

  • our online development environment and
  • detailed course material which participants will have continued access to even once the training has concluded.

For more information about what we do, you can refer to our website.

These are some of the companies who have benefitted from our trainning:

Take a look at our full list of courses to see what other training we have on offer.

Contact Us

If this proposal is of interest to you or you would like to hear more about what we do you can get in touch on or +27 73 805 7439.

2. Course Description

A Version Control system is a fundamental tool for developers, analysts and reseachers. It provides the following benefits:

  • a complete history of revisions (and the ability to revert to older versions);
  • backups; and
  • enables collaboration.

Git is the most pervasive Version Control system today. It works well on all projects, from a few files and a single developer to thousands of files and hundreds of developers.


Duration 1 day
Who should attend? The course is for students, academics and professionals. Version Control is not just for developers. It’s an indispensable tool for anybody who creates content on a computer (for example, source code, documents, presentations or web sites). It also facilitates collaboration between mutliple people working on the same set of files.
Objectives This course will give you a solid understanding of the principles and practices of applying Version Control with Git. You’ll learn to

  • setup Git on your computer and create a repository;
  • perform everyday Version Control operations (checking in, checking out, diffing, branching, merging);
  • create a remote repository on GitHub and synchronise it with your local repository; and
  • how to use Git as an effective collaboration tool.
Outcomes After the course you’ll be familiar with how Git works and primed to start using it on your own projects. You’ll also know about some of the new, cutting edge features recently added to Git.
  1. Install Git.
  2. Install the Putty SSH client (only Windows users).
  3. Create an account on GitHub.
  4. Watch Git & GitHub Crash Course For Beginners. Don’t worry about the details. This is just to get a flavour of what Git is about.
  5. Read the paper “Excuse me, do you have a moment to talk about version control?” by Jennifer Bryan.
    • Why is version control important, and how does Git manage version control?
    • Why is Git particularly useful for developers working with R?
    • What is one of the biggest problems with using Git and GitHub for collaboration?

Return to our list of courses.

Course Outline

3. Course Outline

  • Why Version Control?
    • Version control systems
    • Git: A short history
  • Setting Up Git
    • git config — creating an identity
  • Creating a Repository
    • git init
    • Quick tour of .git folder
  • Committing to the Repository
    • git add — adding files to the staging area
    • git commit — moving files from the staging area to the repository
    • Writing a good commit message
    • git status
    • Ignoring files with .gitignore
    • Tags
  • Tracking Changes
    • git log — browse commit messages
    • git diff
  • Retrieving from the Repository
    • git checkout
    • Referencing commit using a hash
    • What’s a “detached HEAD”?
  • Branches
    • Creating a branch
    • Switching between branches
    • git log --graph — visualising branches
    • Merging a branch
    • Managing merge conflicts
    • Cherry picking for your health (and sanity)
    • Deleting a branch
  • Git as a Tool for Collaboration
  • Remote Repository
    • What’s the deal with remotes?
    • Using GitHub, GitLab or BitBucket
    • git clone — cloning a Remote Repository
    • Clone versus fork?
    • git remote — adding and removing a remote
    • git pull
    • git fetch
    • git push
  • New Features
    • git switch
    • git restore
  • UIs

Book now!

Training Philosophy

Our training emphasises practical skills. So, although you'll be learning concepts and theory, you'll see how everything is applied in the real world. We will work through examples and exercises based on real datasets.


All you'll need is a computer with a browser and a decent internet connection. We'll be using an online development environment. This means that you can focus on learning and not on solving technical problems.

Of course, we are happy to help you get your local environment set up too! You can start by following these instructions.


The training package includes access to
  • our online development environment and
  • detailed course material (slides and scripts).

Return to our list of courses.