Git glossary#


A branch is a development line. The last commit on a branch is called the tip of the branch, which is referenced by a head and which moves on as more development is done on the branch. A single Git repository can have any number of branches, but its Working Tree is associated with only one of them – the current or checked-out branch – and HEAD points to that branch.


iObsolete for Index.


Local version of a repository including all commits and branches.


A snapshot of the entire Git repository, compressed in a SHA.


A copy of a repository on GitLab that belongs to another user or group.


Git is a distributed version control system.


Web application for version management based on git. RGitlab CI, a system for continuous integration, GitLab Runner, container registry and much more were added later.


The HEAD pointer represents your current working directory and can be moved to different branches, tags or commits using git switch.


A collection of files with status information whose content is saved as objects. The index is a saved version of your Working Tree.


The usual upstream repository. Most projects have at least one upstream project that they track. By default, origin is used for this purpose. New upstream updates are fetched into branches named origin/NAME_OF_UPSTREAM_BRANCH, which you can see with git branch -r.

Remote repository#

A repository that is used to track a shared project but is located elsewhere.


shared repository, for example on GitLab, for exchanging changes in a team


Copy of a repository on GitLab that belongs to another user

Merge request#

Place to compare and discuss the changes introduced in a branch with ratings, comments, tests etc.; see also Merge requests.

Trunk-Based Development#

Git workflow with short-lived topic branches that are quickly merged into a single main branch.

Working Tree#

The tree of the files actually checked out. The working tree normally contains the content of the HEAD commit tree as well as all local changes that you have made but not yet transferred.