Référence

Git Glossaire

Guide de A à Z du vocabulaire Git. 60 termes essentiels expliqués simplement.

A

Ancêtre

Un commit qui précède un autre commit dans l’historique. Les commits parents et leurs propres parents sont tous des ancêtres.

Tag annoté

Un tag qui stocke des métadonnées en plus : nom et e-mail de l’auteur du tag, date et message. Recommandé pour les versions publiées.

B

Dépôt nu (bare)

Un dépôt sans répertoire de travail. Il ne contient que le contenu du dossier .git. Sert de dépôt central pour partager.

Blob

Un objet Git qui stocke le contenu d’un fichier. Abréviation de « binary large object ».

Brancher

Un pointeur déplaçable vers un commit. Représente une ligne de développement indépendante dans un dépôt.

C

Cherry-pick

Copier les modifications d’un commit existant sur votre branche courante sous forme de nouveau commit (avec un nouveau hash).

Clone

Une copie complète d’un dépôt distant — chaque commit, plus des branches de suivi distantes comme origin/main — créée avec git clone.

Commit

Un instantané de votre dépôt à un moment précis. Il contient un arbre, le ou les commits parents, l’auteur et un message.

Hash de commit

Une somme de contrôle SHA-1 de 40 caractères qui identifie un commit de façon unique. On peut le plus souvent l’abréger à 7 caractères.

Conflit

Se produit quand Git ne peut pas fusionner automatiquement des modifications, parce que les mêmes lignes ont été modifiées différemment dans les deux branches.

D

HEAD détachée

Un état où HEAD pointe directement sur un commit au lieu d’une branche. Les modifications faites ici peuvent être perdues si elles ne sont pas enregistrées sur une branche.

Diff

La différence entre deux versions d’un fichier ou d’un ensemble de fichiers. Montre les ajouts, les suppressions et les modifications.

E

Dépôt imbriqué

Un dossier avec son propre .git à l’intérieur d’un autre dépôt. Git ne l’enregistre que comme un pointeur vers un commit (un gitlink) ; utilisez plutôt des sous-modules.

F

Fast-forward

Une fusion où le pointeur de branche avance simplement, faute de commits divergents. Aucun commit de fusion n’est créé.

Fetch

Télécharger les nouveaux commits et références d’un dépôt distant sans toucher à vos propres branches ni à votre arbre de travail.

Fixup

Une action de rebase interactif qui fond un commit dans le précédent et jette son message.

Force with Lease

git push --force-with-lease : écraser la branche distante seulement si elle pointe toujours là où vous l’avez vue en dernier, pour ne jamais perdre le travail d’un collègue.

Fork

Une copie personnelle d’un autre dépôt sur un service d’hébergement. Courant dans l’open source pour proposer des modifications via des pull requests.

G

Commit greffé

Dans un clone superficiel, le plus ancien commit téléchargé : ses parents existent sur le serveur mais n’ont jamais été téléchargés.

H

HEAD

Un pointeur vers la référence de branche ou le commit courant. Représente votre position actuelle dans l’historique du dépôt.

Hook

Un script qui s’exécute automatiquement lors de certains événements Git, comme pre-commit, post-commit ou pre-push.

Hotfix

Un correctif urgent pour du code publié, généralement fait sur la branche de release, tagué, puis reporté sur main.

Hunk

Un bloc de lignes modifiées dans un diff, entouré de quelques lignes de contexte inchangées. git add -p prépare hunk par hunk.

I

Index

Aussi appelé zone de préparation. Une zone intermédiaire où l’on prépare les modifications avant de les committer dans le dépôt.

Rebase interactif

git rebase -i : réécrire une série de commits en modifiant une liste de tâches (pick, reword, squash, fixup, drop).

L

Tag léger

Un simple pointeur vers un commit, sans métadonnées supplémentaires. Juste un nom pour un commit précis.

M

Main/Master

La branche principale par défaut d’un dépôt. « main » est la convention moderne, « master » l’ancien nom.

Commit de fusion

Un commit avec deux parents ou plus, qui réunit en un seul les modifications de plusieurs branches.

Conflit de fusion

Quand Git ne peut pas résoudre automatiquement les différences entre deux branches. Le développeur doit les résoudre à la main.

O

Objet

L’unité de stockage fondamentale de Git. Il en existe quatre types : blob (fichier), tree (dossier), commit et tag.

ORIG_HEAD

Une référence que Git pose avant les opérations risquées (reset, merge, rebase) là où était HEAD — git reset --hard ORIG_HEAD les annule.

Origin

Le nom par défaut du dépôt distant depuis lequel vous avez cloné. Il pointe vers la source d’origine.

P

Commit parent

Le commit qui précède directement un autre commit. Les commits de fusion ont plusieurs parents.

Pathspec

Un motif qui limite les chemins concernés par une commande Git. Il peut contenir des jokers et des indications de dossiers.

Prune

Supprimer les branches de suivi distantes dont la branche n’existe plus sur le dépôt distant (git fetch --prune).

Pull

git fetch suivi d’une fusion (ou d’un rebase) de l’upstream récupéré dans votre branche courante.

Pull request

Une demande, sur une plateforme d’hébergement (GitHub, GitLab…), de relire une branche et de la fusionner dans une autre. Ce n’est pas une commande Git.

Push

Envoyer vos commits vers un dépôt distant et y déplacer la branche pour qu’elle corresponde à la vôtre.

R

Rebase

Rejouer des commits par-dessus un autre commit de base, ce qui produit de nouveaux commits et un historique linéaire.

Référence (ref)

Abréviation de « reference ». Un pointeur vers un commit, comme un nom de branche, un tag ou HEAD.

Reflog

Un journal de toutes les mises à jour de références dans votre dépôt local. Il enregistre chaque déplacement des bouts de branche et de HEAD.

Branche de release

Une branche qui contient une version livrée, pour pouvoir y faire des correctifs pendant que main avance.

Distant

Une version de votre dépôt hébergée ailleurs (comme GitHub ou GitLab). Sert à collaborer et à sauvegarder.

Branche de suivi distante

Un marque-page local en lecture seule d’une branche distante, comme origin/main, mis à jour par fetch, pull et push.

Dépôt

Un dossier qui contient les fichiers de votre projet et tout l’historique Git, stocké dans un dossier .git.

Revert

Un nouveau commit qui annule les modifications d’un commit précédent, sans réécrire l’historique — sans risque sur les branches partagées.

S

SHA-1

La fonction de hachage cryptographique que Git utilise pour générer les identifiants uniques des commits et des objets.

Clone superficiel

Un clone qui ne contient que les commits les plus récents (git clone --depth N), courant en CI ; on l’approfondit avec fetch --depth ou --unshallow.

Commit signé

Un commit portant une signature GPG (ou SSH) que les hébergeurs peuvent afficher comme « Verified ». Créé avec git commit -S.

Squash

Réunir plusieurs commits en un seul, par ex. avec un rebase interactif ou git merge --squash.

Zone de préparation

La zone intermédiaire entre votre répertoire de travail et le dépôt, où vous préparez les commits. Aussi appelée index.

Stash

Une étagère temporaire pour les modifications non commitées (git stash), pour changer de tâche avec un arbre de travail propre.

Sous-module

Un dépôt intégré dans un autre dépôt. Utile pour inclure des dépendances externes à une version précise.

T

Tag

Une référence nommée qui pointe vers un commit précis. Sert généralement à marquer des versions publiées comme v1.0.0.

Branche de suivi

Une branche locale directement liée à une branche distante. Permet push/pull sans préciser le dépôt distant.

Tree (arbre)

Un objet Git qui représente un dossier. Il contient des références vers des blobs (fichiers) et d’autres trees (sous-dossiers).

U

Fichier non suivi

Un fichier du répertoire de travail que Git ne surveille pas. Il n’est pas inclus dans les commits tant qu’on ne l’a pas ajouté explicitement.

Upstream

La branche distante que suit une branche locale. La source depuis laquelle on tire les modifications.

W

Répertoire de travail

Le dossier de votre système de fichiers où vous modifiez les fichiers. Il contient la version extraite actuelle de votre projet.

Arbre de travail

Un autre nom du répertoire de travail. Les fichiers que vous voyez et modifiez dans le dossier du projet.