page header photo
share Twitter share LinkedIn

course Version control with Git

This training is OS-independent

Git logo Git is a distributed version control system with an emphasis on speed, data integrity, and distributed workflows. Originally it has been developed for the Linux kernel, which typically involves many developers and a large amount of code changes. Therefore, Git applies patches fast and reliably. Although Git was initially developed for software engineers, it can be used to track changes on any kind of document (but it does not handle different versions of binary documents efficiently, and is therefore mainly used to track text-based documents). Therefore Git is also popular with system administrators to track changes of configuration files.

Git is a very flexible version control system and can therefore be incorporated into almost any workflow. Because of its flexibility, it can be somewhat daunting for beginners. Therefore, we cover Git on a step-by-step basis (starting simple) and support it with an extended lab environment to make learning Git as easy as it can be. Read more >>>

Target audience

  • Anyone who wants to use Git as version control system.

The complete course takes 2 days and each day can be booked separately. However, the subjects covered on day 1 are required knowledge for day 2.

Module Duration
Which days
of the course
All prices without vat
Git fundamentals 1 1 € 595,-
Git advanced 1 2 € 595,-
Both modules 2 1,2 € 1050,-


Currently scheduled course dates are:

14,15 Nov 2018   Utrecht

Register for this course: "Version control with Git".

More information

Prerequisite knowledge

This training covers the command line tools of Git. Therefore, any experience with using the command line and running commands using the command line interface is preferred.

Subjects covered

During the course we cover the following subjects and tools

  • Git fundamentals (module 1)
    • Different types of version control systems (local, centralised, and distributed)
    • Setting up and managing a Git repository (git init, git config, git remote, git clone)
    • Managing documents under version control (git add, git commit, git rm, git checkout)
    • Checking the state of the repository (git status)
    • Show the commit history (git log)
    • Technical aspects on how Git stores changes (commit objects, tree objects, and blobs)
    • Creating branches and merging them (git branch, git merge, git checkout, git rebase)
    • Resolve merge conflicts
    • Show the differences between different versions (git diff, git difftool)
    • Visualise branches (git log)
    • Difference between a bare repository and a client repository (git init, git init --bare)
    • Working together trough remote repositories (git clone, git remote, git fetch, git push)
  • Git advanced (module 2)
    • Returning to a previous version (git reset, git checkout, git revert)
    • Rewrite the commit history (git rebase -i)
    • Partly merge branches (git cherry-pick)
    • Searching in a Git repository (git blame, git grep)
    • Git troubleshooting
    • Difference between merge and rebase
    • Popular workflows (Centralized workflow, GitFlow, Integration-manager (forking) workflow, Dictator and lieutenants workflow)
    • Web-based repository management tools like GitHub and GitLab
    • Execute custom scripts when performing certain Git actions. Integrate Git with third party applications such as Continuous Integration systems. (Git Hooks)
    • Aliases for much used and/or complex commands
    • Digitally signing the tags and commits


Course attendees receive a student kit containing copies of the presentation, lab exercises, and answers to the exercises.


Shortly after the course the student will receive a certificate as a proof of participation.

Register for this course now!

Valid XHTML 1.0 Strict   Valid CSS2