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.