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.


Obsolete 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. Later, GitLab CI/CD, a system for continuous integration, GitLab Runner, Container Registry and many other things were added.

See also


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.

Merge request

Place to compare and discuss the changes introduced in a branch with ratings, comments, tests etc..

See also

Remote repository

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

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.