Course intended for:

The training is intended for programmers, testers, implementers and administrators, who want to use the Git version control system for the solutions developed.

Course objective:

The participants will be able to use properly the Git version control tool and implement it in their projects. Available commands will be discussed, as well as team work models – starting from the most frequently performed tasks to more advanced topics, such as searching for errors in the project using Git. The participants will also get to know Git from the perspective of a repository administrator. Various tools, supporting work with Git, will be presented.

Course strengths:

The participants will perform various exercises to get familiar with Git, which will lead them to subsequent topics, discussed during the training.


The training participants are required to be able to use Windows or Linux operating system and should be familiar with the Eclipse environment (optionally).

Course parameters:

2*8 hours (2*7 net hours)

The training consists of workshops and lectures. The training may be adapted to the needs of specific teams, e.g. by focusing on more advanced use of Git from the perspective of the programmer or work with another IDE (e.g. Netbeans or Vim editor).

Course curriculum

  1. Git installation and configuration in the Windows, Linux, Mac OS X and Eclipse (or different) environment

  2. Working with Git

    1. Initialization and configuration of the repository

    2. Approval of changes, storage of changes

    3. Development of tags, types of tags

    4. Log review

    5. Reset, reflog

    6. Working with branches

    7. merge, rebase, cherry pick

    8. Git repository anatomy - .git folder

  3. Management of repositories on the server

    1. Methods of access to repositories, protocols used

    2. Access to repository through the browser – GitWeb, CGit and Gerrit

    3. Management of users and access rights – Gitosis, Gitolite and GitLab

  4. Group work models in Git

    1. Change sharing methods

    2. Working in the environment of users with various roles (programmer, tester, implementer)

    3. Rules of management of issues and project history

    4. Gitflow extension

    5. Working with subprojects (submodule, subtree)

  5. Advanced topics

    1. Migration from other version management control systems (CVS, SVN)

    2. Git and TFS (Team Foundation Server)

    3. Git architecture, objects and object naming system

    4. Git task automation – scripts for events (hooks)

    5. Repository maintenance and optimization

    6. Emergency procedures

  6. A review of tools for work with Git

    1. Alternatives for gitk, git gui

    2. Extensions for git – git-extras, git-prompt,

    3. Hosting platforms for repositories – GitHub, Google Code, Bitbucket

Repository history visualization - Gource

Any questions?

* Required.

Phone +48 22 2035600
Fax +48 22 2035601