Git in practice

Train your team at Git and collaborate more effectively!

Our courses are offered in inter-company according to the proposed schedule below. We can also move within your entity. Do not hesitate to ask us for more information!

Course objectives

Git is one of the most advanced version managers at the moment, and can easily adapt to different workflows. A good knowledge of the tool by the whole team and the choice of a management model A version adapted to the project will simplify maintenance and speed up the development of the project by facilitating collaboration between different developers.

To take advantage of the many features of Git, your team must have a solid and common practice of the tool.

Target audience

The course has 2 parts to address all levels of use of the tool.

“Git in practice” is proposed for an audience that has no or little experience on git and who wants to understand how it works as part of a collaborative development mode.

“Advanced git” is intended for an audience that already has some git control and wants to discover advanced modes of use.


git in practice

  • Duration : 2 days
  • Level : beginner
  • Goal : participants will be able to use git daily and implement a standard workflow for collaborative development projects
  • Price : 1 400€ HT

advanced git

  • Duration : 1 jour
  • Level : advanced
  • Goal : the participants will complete the basic toolbox with more advanced tools answering problems of management of deposit, history and to further improve the management of the commits
  • Price : 700 € HT

The training will alternate theoretical contributions and implementation of each notion addressed.

The training will also include a complete hands-on case that will enable the implementation of the proposed development workflow.

We propose a git server which will host school projects used in practical cases. We will also use the case of an existing project to illustrate the point.

git in practice


  • existing version managers
  • decentralization of the code
  • git and its benefits
  • basic features and commands

Before you start

  • structure of a Git deposit
  • installing and configuring the Git client

Basic commands

  • create a local depot
  • adding and versioning files
  • delete, move and rename files
  • analyze the revision history
  • get information about the status of the working copy
  • ignore files

Go further

Go further with basic commands

  • staging of portions of files
  • advanced log filtering
  • display of earlier versions without checkout
  • the 5 modes of git-reset

Save and share the manual resolution of a merge

  • the stages of conflict resolution
  • record conflict resolution

Collaboration, branches and remote repositories

  • one or more repositories
  • the remote git command
  • auto-tracking of distant branches
  • remote branch management
  • synchronization management

Well manage your commits

  • the implications of the history change
  • correction / revert of commits and / or merge
  • rollback
  • reorganize its commits
  • set aside a work in progress
  • retrieve selected portions of history
  • quickly list relevant commits and branches
  • tagger and sign his commits

Manage a project

  • patch application
  • create and apply patches, resolve conflicts
  • Integrate external contributions
  • recover a file version
  • Tag management, number of commit and release preparation
  • make a snapshot or release
  • prepare release announcements: shortlog

Workflow development at

  • developers, subsystem maintainers: git at the heart of the workflow
  • manage a release

Debugging your code

  • locate a bug manually thanks to the dichotomic search
  • automate bug localization

Advanced git

Management of multiple work areas with git worktree

  • Establishment and management
  • Current boundaries

Patch Management Workflow

  • Generate and send patches with the git format-patch command
  • Applying patches: the git apply and git am commands

The git attibuts

  • Definition and use
  • Practical cases of use

Management of notes

  • Add information to commits
  • Management of notes in the warehouse

The refspecs

  • Basic concepts
  • How to use it

The submodules

  • Why use it?
  • Basic concepts of submodules and deposit structure
  • Add a submodule to an existing repository
  • Clone a depot containing submodules
  • Get information
  • Update of sub-modules and repositories
  • Deleting submodules

The subtrees

  • Subtrees versus submodules: what are the differences?
  • Subtrees management manually
  • Subtrees management with git-subtree
  • Update subtrees

Record conflicts resolutions to automate them with git rerere

  • Configuration of the rerere
  • Save conflict resolutions
  • Operate the record automatically

Anne NICOLAS is a co-founder of hupstream and a passionate Open Source for many years. She was release manager of the Mandriva distribution and also participates in the Mageia distribution project.

She has been working on a git for more than 3 years: developers, project managers, system administrators, quality teams …

Our next training dates

git in pratice

  • 04 and 05 february 2019, Paris
  • 15 and 16 april 2019, Paris
  • 17 and 18 june 2019, Paris
  • 12 and 13 september 2019, Paris
  • 14 and 15 november 2019, Paris

Advanced git

  • 11 february 2019, Paris
  • 29 april 2019, Paris
  • 20 june 2019, Paris
  • 19 september 2019, Paris

Ask for a quote