Section courante

A propos

Section administrative du site

Voici un tableau de référence des termes et expressions associées à Git :

Terme Description
alternate object database Cette expression permet d'indiquer que, par le biais du mécanisme alternatif, un référentiel peut hériter d'une partie de sa base de données d'objets d'une autre base de données d'objets, appelée «alternative».
bare repository Cette expression permet d'indiquer qu'un référentiel bare est normalement un répertoire nommé de manière appropriée avec un suffixe «.git» ne possédant pas de copie extraite localement des fichiers sous contrôle de révision. Autrement dit, tous les fichiers d'administration et de contrôle Git étant normalement présents dans le sous-répertoire caché «.git» sont directement présents dans le répertoire «repository.git» et aucun autre fichier n'est présent et extrait. Généralement, les éditeurs de référentiels publics rendent les référentiels bare disponibles.
blob object Cette expression permet d'indiquer un objet non typé, par exemple le contenu d'un fichier.
branch Ce mot permet d'indiquer une branche, soit une ligne de développement active. Le commit le plus récent sur une branche est appelé la pointe (tip) de cette branche. La pointe (tip) de la branche est référencée par une tête de branche, avançant à mesure que des développements supplémentaires sont effectués sur la branche. Un seul référentiel Git peut suivre un nombre arbitraire de branches, mais votre arbre de travail est associé à une seule d'entre elles (la branche "actuelle" ou "extraite"), et HEAD pointe sur cette branche.
chain Ce mot permet d'indiquer une liste d'objets, où chaque objet de la liste contient une référence à son successeur (par exemple, le successeur d'un commit peut être l'un de ses parents).
changeset Ce mot permet s'adresse au BitKeeper/cvsps communication avec un "commit". Toutefois, puisque Git n'entrepose pas les modifications, mais les indique, il n'a vraiment aucun sens à utiliser le terme "changesets" avec Git.
checkout Ce mot permet d'indiquer l'action de mettre à jour tout ou partie de l'arbre de travail avec un objet arborescent ou un objet blob de la base de données d'objets, et de mettre à jour l'index et HEAD si tout l'arbre de travail a été pointé vers une nouvelle branche.
cherry-picking Cette expression permet d'indiquer un sous-ensemble de modifications dans une série de modifications (généralement des validations) et les enregistrer en tant que nouvelle série de modifications sur une base de code différente. Dans Git, cette opération est effectuée par la commande "git cherry-pick" pour extraire la modification introduite par un commit existant et l'enregistrer en fonction du sommet de la branche actuelle en tant que nouveau commit.
clean Ce mot permet d'indiquer une arborescence de travail est nettoyée si elle correspond à la révision référencée par la tête courante.
commit Ce mot permet d'indiquer, si c'est un nom, qu'un seul point dans l'historique de Git; toute l'historique d'un projet est représentée sous la forme d'un ensemble de commits interdépendants. Le mot "commit" est souvent utilisé par Git aux mêmes endroits que les autres systèmes de contrôle de révision utilisant les mots "revision" ou "version". Également utilisé comme un raccourci pour un objet commit. Si ce mot est un verbe, il indique que l'action consiste à entreposer un nouvel instantané de l'état du projet dans l'historique Git, en créant un nouveau commit représentant l'état actuel de l'index et en faisant avancer HEAD pour pointer vers le nouveau commit.
commit object Cette expression permet d'indiquer un objet contenant les informations sur une révision particulière, telles que les parents, le committeur, l'auteur, la date et l'objet arborescent correspondant au répertoire supérieur de la révision entreposée.
commit-ish Cette expression permet d'indiquer un objet commit ou un objet pouvant être déréférencé de manière récursive en un objet commit. Les éléments suivants sont tous des commit-ishes: un objet commit, un objet tag pointant vers un objet commit, un objet tag pointant vers un objet tag pointant vers un objet commit,...
core Git Cette expression permet d'indiquer des structures de données fondamentales et utilitaires de Git. N'expose que des outils de gestion de code source limités.
DAG Cette abréviation de l'anglicisme Directed acyclic graph permet d'indiquer un graphe acyclique dirigé. Les objets commit forment un graphe acyclique dirigé, car ils ont des parents (orientés), et le graphe des objets commit est acyclique (il n'y a pas de chaîne commençant et se termine avec le même objet).
dangling object Cette expression permet d'indiquer un objet inaccessible n'étant pas accessible, même à partir d'autres objets inaccessibles; un objet en suspens ne contient aucune référence à aucune référence ou objet du référentiel.
detached HEAD Cette expression permet d'indiquer, que normalement, HEAD entrepose le nom d'une branche et les commandes agissant sur l'historique représenté par HEAD agissent sur l'historique menant au sommet de la branche sur laquelle pointe HEAD. Cependant, Git vous permet également de vérifier une validation arbitraire ne constituant pas nécessairement la pointe d'une branche en particulier. Le HEAD dans un tel état s'appelle "detached".
directory Ce mot permet d'indiquer la liste de la demande.
dirty Ce mot permet d'indiquer qu'un arbre de travail est dit "dirty" (soit sale en français) s'il contient des modifications n'ayant pas été validées dans la branche actuelle.
evil merge Cette expression permet d'indiquer une fusion introduisant des modifications n'apparaissant dans aucun parent.
fast-forward Cette expression permet d'indiquer un type spécial de fusion dans lequel vous avez une révision et vous fusionnez les modifications d'une autre branche s'avérant être un descendant de ce que vous avez. Dans ce cas, vous ne créez pas de nouvelle validation de fusion, mais vous mettez simplement à jour sa révision. Cette situation se produira fréquemment sur une branche de suivi à distance d'un référentiel à distance.
fetch Ce mot permet d'indiquer un extrait d'une branche signifiant obtenir l'en-tête de la branche à partir d'un référentiel à distance, trouver les objets manquants dans la base de données d'objets locale et les récupérer également.
Git archive Cette expression est un synonyme de repository ou dépôt.
gitfile Ce mot permet d'indiquer un fichier .git à la racine d'un arbre de travail pointant vers le répertoire étant le référentiel réel.
grafts Ce mot permet d'indiquer le lien de 2 lignes de développement différentes en enregistrant de fausses informations d'ascendance pour les commits. De cette façon, vous pouvez faire croire à Git que l'ensemble des parents qu'un commit a est différent de ce qui avait été enregistré lors de la création du commit. Configuré via le fichier «.git/info/grafts».
hash Ce mot permet d'indiquer, dans le contexte de Git, un synonyme de nom d'objet.
head Ce mot permet d'indiquer une référence nommée au commit à la pointe d'une branche. Les en-têtes sont entreposés dans un fichier du répertoire $GIT_DIR/refs/heads/, sauf en cas d'utilisation de références compactées.
HEAD Ce mot permet d'indiquer la branche actuelle. Votre arbre de travail est normalement dérivé de l'état de l'arbre auquel HEAD fait référence. HEAD est une référence à l'une des têtes de votre référentiel, sauf si vous utilisez un HEAD séparé, auquel cas il fait directement référence à une validation arbitraire.
head ref Cette expression permet d'indiquer une référence à head.
hook Ce mot permet d'indiquer des fonctionnalités ou des vérifications rajouter par un développeur.
index Ce mot permet d'indiquer une collection de fichiers avec des informations statistiques, dont le contenu est entreposé sous forme d'objets. L'index est une version entreposée de votre arbre de travail. À vrai dire, il peut également contenir une deuxième, voire une troisième version d'un arbre de travail, étant utilisées lors de la fusion.
index entry Cette expression permet d'indiquer les informations concernant un fichier particulier, entreposées dans l'index. Une entrée d'index peut être dissociée, si une fusion a été démarrée, mais pas encore terminée (c'est-à-dire si l'index contient plusieurs versions de ce fichier).
master Ce mot permet d'indiquer la branche de développement par défaut. Chaque fois que vous créez un référentiel Git, une branche nommée "master" est créée et devient la branche active. Dans la plupart des cas, il s'agit du développement local, bien que cela soit purement conventionnel et non requis.
merge Ce mot permet d'indiquer, lorsqu'il est un verbe, l'action d'importer le contenu d'une autre branche (éventuellement d'un référentiel externe) dans la branche actuelle. Dans le cas où la branche fusionnée provient d'un référentiel différent, cela est d'abord effectué en recherchant la branche à distance, puis en fusionnant le résultat dans la branche actuelle. Cette combinaison d'opérations d'extraction et de fusion s'appelle une extraction. La fusion est effectuée par un processus automatique identifiant les modifications apportées depuis la divergence des branches, puis applique toutes ces modifications ensemble. Dans les cas où les modifications entrent en conflit, une intervention manuelle peut être nécessaire pour mener à bien la fusion. Par contre, si le mot est un nom, une merge réussie entraîne la création d'un nouveau commit représentant le résultat de la fusion et ayant pour parents les astuces des branches fusionnées. Ce commit est appelé «merge commit», ou parfois simplement «merge».
object Ce mot permet d'indiquer l'unité d'entreposage dans Git. Il est uniquement identifié par le SHA-1 de son contenu. Par conséquent, un objet ne peut pas être changé.
object database Cette expression permet d'indiquer l'entreposage d'un ensemble d'objets et un objet individuel est identifié par son nom d'objet. Les objets résident généralement dans «$GIT_DIR/objects/».
object identifier Cette expression est un synonyme de «object name».
object name Cette expression permet d'indiquer identificateur unique d'un objet. Le nom de l'objet est généralement représenté par une chaîne de caractères hexadécimale de 40 caractères. Aussi appelé familièrement SHA-1.
object type Cette expression permet d'indiquer un des identificateurs "commit", "tree", "tag" ou "blob" décrivant le type d'un objet.
octopus Ce mot permet d'indiquer l'action de fusionner (merge) plus de deux branches.
origin Ce mot permet d'indiquer le dépôt en amont par défaut. La plupart des projets ont au moins un projet en amont qu'ils suivent. Par défaut, l'origine est utilisée à cette fin. Les nouvelles mises à jour en amont seront extraites dans des branches de suivi à distance nommées origin/name-of-upstream-branch, que vous pouvez voir à l'aide de «git branch -r».
overlay Ce mot permet d'indiquer l'action de mettre à jour et ajouter uniquement des fichiers au répertoire de travail, mais ne les supprimez pas, comme «cp -R» mettrait à jour le contenu du répertoire de destination. C'est le mode par défaut dans une extraction lors de l'extraction de fichiers à partir de l'index ou d'une arborescence. En revanche, le mode sans incrustation supprime également les fichiers suivis non présents dans la source, comme pour «rsync --delete».
pack Ce mot permet d'indiquer un ensemble d'objets compressés dans un seul fichier (pour gagner de la place ou les transmettre efficacement).
pack index Cette expression permet d'indiquer la liste des identifiants, et d'autres informations, des objets d'un paquet (pack), pour aider à accéder efficacement au contenu d'un paquet (pack).
pathspec Ce mot permet d'indiquer le motif utilisé pour limiter les chemins dans les commandes Git.
parent Ce mot permet d'indiquer un objet commit contenant une liste (éventuellement vide) du/des prédécesseur(s) logique(s) dans la ligne de développement, c'est-à-dire ses parents.
pickaxe Ce mot permet d'indiquer une option des routines de diffcore aidant à sélectionner les modifications ajoutant ou supprimant une chaîne de caractères texte donnée. Avec l'option --pickaxe-all, il peut être utilisé pour afficher l'intégralité du jeu de modifications ayant introduit ou supprimé une ligne de texte particulière.
plumbing Ce mot permet d'indiquer le noyau Git.
porcelain Ce mot permet d'indiquer les programmes et suites de programmes dépendant de Git, offrant un accès de haut niveau à Git. Les porcelain présentent davantage une interface SCM que le plumbing.
per-worktree ref Cette expression permet d'indiquer des références étant par arbre de travail, plutôt que global. Actuellement, il s'agit uniquement de HEAD et de toutes les références commençant par refs/bisect/, mais pouvant ultérieurement inclure d'autres références inhabituelles.
pseudoref Ce mot permet d'indiquer une classe de fichiers sous $GIT_DIR se comportant comme des références pour les besoins de rev-parse, mais étant traités spécialement par git. Les pseudorefs ont tous deux des noms en majuscules et commencent toujours par une ligne composée d'un SHA-1 suivi d'un espace. HEAD n'est donc pas un pseudoref, car il s'agit parfois d'une référence symbolique. Ils peuvent éventuellement contenir des données supplémentaires. MERGE_HEAD et CHERRY_PICK_HEAD sont des exemples. Contrairement aux références par arbre de travail, ces fichiers ne peuvent pas être des références symboliques et ne comportent jamais de réflexions. Ils ne peuvent pas non plus être mis à jour via les machines normales de mise à jour des références. Au lieu de cela, ils sont mis à jour en écrivant directement dans les fichiers. Cependant, ils peuvent être lus comme s'ils étaient des références, donc «git rev-parse MERGE_HEAD» fonctionnera.
pull Ce mot permet d'indiquer l'action d'aller chercher et fusionner la branche. Synonyme de git-pull.
push Ce mot permet d'indiquer l'action de pousser une branche, soit obtenir la référence de la tête de la branche à partir d'un référentiel à distance, savoir s'il s'agit d'un ancêtre de la référence de la tête locale de la branche et, dans ce cas, placer tous les objets accessibles depuis la référence de la tête locale et ceux qui le sont.
reachable Ce mot permet d'indiquer que tous les ancêtres d'un commit sont accessibles à partir de ce commit. Plus généralement, un objet est accessible depuis un autre si nous pouvons l'atteindre l'un de l'autre par une chaîne de caractères suivant les tags de ce qu'elles étiquettent, se rendant à leurs parents ou à des arbres, et des arbres aux arbres ou aux blobs qu'elles contiennent.
rebase Ce mot permet d'indiquer une réapplication d'une série de modifications d'une branche à une autre base et réinitialiser la tête de cette branche sur le résultat.
ref Ce mot permet d'indiquer une référence symbolique. Les références sont entreposés dans le dépôt.
reflog Ce mot permet d'indiquer l'historique locale d'une référence. En d'autres termes, il peut vous dire quelle était la 5ème dernière révision de ce référentiel et quel était l'état actuel de ce référentiel, hier à 22h42.
refspec Ce mot permet d'indiquer une cartographie entre la référence à distance et la référence locale par fetch et push.
remote repository Cette expression permet d'indiquer un référentiel utilisé pour suivre le même projet mais résidant ailleurs. Pour communiquer à distance, voir fetch et push.
remote-tracking branch Cette expression permet d'indiquer une branche de suivi à distance.
repository Ce mot permet d'indiquer une collection de références ainsi qu'une base de données d'objets contenant tous les objets accessibles à partir des références, éventuellement accompagnés de métadonnées d'une ou de plusieurs porcelain.
resolve Ce mot permet d'indiquer l'action de réparer manuellement ce qu'une fusion automatique (merge) ratée a laissé.
revision Ce mot est un synonyme de commit (le nom).
rewind Ce mot permet d'indiquer l'action de jeter une partie du développement, c'est-à-dire affecter la tête à une révision antérieure.
SCM Cette abréviation permet d'indiquer l'outil de gestion du code source.
SHA-1 Cette abréviation de l'anglicisme «Secure Hash Algorithm 1», permet d'indiquer une fonction de hachage cryptographique. Dans le contexte de Git utilisé comme synonyme de nom d'objet.
shallow clone Cette expression permet d'indiquer un dépôt en shadow, mais la phrase le rend plus explicite qu'avec exécution de la commande «git clone --depth=...».
shallow repository Cette expression permet d'indiquer un dépôt en shadow avec un historique incomplète dont certains commits ont des parents cautérisés (en d'autres termes, Git est censé prétendre que ces commits n'ont pas les parents, même s'ils sont enregistrés dans l'objet commit). Cette situation est parfois utile lorsque vous ne vous intéressez qu'à l'historique récent d'un projet même si l'historique réel enregistré en amont est beaucoup plus important. Un dépôt en shadow est créé en donnant le paramètre --depth à git-clone, et son historique peut être approfondi plus tard avec git-fetch.
stash entry Cette expression permet d'indiquer qu'un objet utilisé pour entreposer temporairement le contenu d'un répertoire de travail incomplet et l'index pour une réutilisation future.
submodule Ce mot permet d'indiquer un dépôt contenant l'historique d'un projet distinct dans un autre dépôt (ce dernier est appelé superprojet ou superproject en anglais).
superproject Ce mot permet d'indiquer un dépôt référençant les dépôts d'autres projets dans son arborescence de travail en tant que sous-modules. Le superprojet connaît les noms des objets de validation (mais n'en détient pas de copie) des sous-modules contenus.
symref Ce mot permet d'indiquer un dépôt symbolique : au lieu de contenir l'identifiant SHA-1 lui-même, il est au format de référence : refs/some/thing et lorsqu'il est référencé, il fait récursivement référence à cette référence. Le HEAD est un excellent exemple de symref. Les références symboliques sont manipulées avec la commande git-symbolic-ref.
tag Ce mot permet d'indiquer une dépôt sous l'espace de nom refs/tags pointant vers un objet de type arbitraire (généralement une balise pointe soit vers une balise soit vers un objet commit). Contrairement à une tête, une balise n'est pas mise à jour par la commande commit. Une balise Git n'a rien à voir avec une balise Lisp (étant appelée un type d'objet dans le contexte de Git). Une balise est généralement utilisée pour marquer un point particulier de la chaîne de caractères d'ascendance de validation.
tag object Cette expression permet d'indiquer qu'un objet contenant une référence pointant vers un autre objet, peut contenir un message comme un objet commit. Il peut également contenir une signature (PGP), auquel cas il est appelé «objet balise signé».
topic branch Cette expression permet d'indiquer une branche Git régulière étant utilisée par un développeur pour identifier une ligne de développement conceptuelle. Comme les branches sont très faciles d'utilisation et peu coûteuses, il est souvent souhaitable d'avoir plusieurs petites branches contenant chacun des concepts très bien définis ou de petits changements incrémentiels mais liés.
tree Ce mot permet d'indiquer un arbre de travail, soit un objet d'arbre avec le blob dépendant et les objets d'arbre (c'est-à-dire une représentation entreposée d'un arbre de travail).
tree object Cette expression permet d'indiquer un objet contenant une liste de noms de fichiers et de modes ainsi que des références aux objets blob et / ou arborescence associés. Une arborescence équivaut à un répertoire.
tree-ish Cette expression permet d'indiquer un objet arborescent ou un objet pouvant être déréférencé récursivement à un objet arborescent. Le déréférencement d'un objet commit génère l'objet arborescence correspondant au répertoire supérieur de la révision. Les éléments suivants sont tous des arborescences : un commit-ish, un objet arbre, un objet balise pointant vers un objet arbre, un objet balise pointant vers un objet balise pointant vers un objet arbre,...
unmerged index Cette expression permet d'indiquer un index contenant des entrées d'index non fusionnées.
unreachable object Cette expression permet d'indiquer un objet n'étant pas accessible à partir d'une branche, d'une balise ou de toute autre référence.
upstream branch Cette expression permet d'indiquer la branche par défaut étant fusionnée dans la branche en question (ou la branche en question est rebasée). Il est configuré via la branche. <name>.remote et la branch.<name>.merge. Si la branche en amont de A est d'origine /B, nous disons parfois «A suit l'origine /B».
working tree Cette expression permet d'indiquer l'arborescence des fichiers réellement extraits. L'arborescence de travail contient normalement le contenu de l'arborescence de validation HEAD, ainsi que toutes les modifications locales que vous avez apportées mais pas encore validées.


Dernière mise à jour : Vendredi, le 18 octobre 2019