Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.46.1 → 2.47.0 no changes
- 2.46.0 07/29/24
- 2.44.1 → 2.45.2 no changes
- 2.44.0 02/23/24
- 2.43.2 → 2.43.5 no changes
- 2.43.1 02/09/24
- 2.43.0 11/20/23
- 2.39.1 → 2.42.3 no changes
- 2.39.0 12/12/22
- 2.36.1 → 2.38.5 no changes
- 2.36.0 04/18/22
- 2.33.1 → 2.35.8 no changes
- 2.33.0 08/16/21
- 2.30.1 → 2.32.7 no changes
- 2.30.0 12/27/20
- 2.23.1 → 2.29.3 no changes
- 2.23.0 08/16/19
- 2.22.1 → 2.22.5 no changes
- 2.22.0 06/07/19
- 2.21.1 → 2.21.4 no changes
- 2.21.0 02/24/19
- 2.19.1 → 2.20.5 no changes
- 2.19.0 09/10/18
- 2.18.1 → 2.18.5 no changes
- 2.18.0 06/21/18
- 2.15.4 → 2.17.6 no changes
- 2.14.6 12/06/19
- 2.13.7 05/22/18
- 2.12.5 09/22/17
- 2.9.5 → 2.11.4 no changes
- 2.8.6 07/30/17
- 2.7.6 07/30/17
- 2.6.7 05/05/17
- 2.5.6 no changes
- 2.4.12 05/05/17
- 2.3.10 no changes
- 2.2.3 09/04/15
- 2.1.4 no changes
- 2.0.5 12/17/14
DESCRIPTION
- base de données d’objets substituts
-
Grâce au mécanisme des substituts, un dépôt peut hériter d’une partie de sa base de données d’objets d’une autre base de données d’objets, qui est appelée un "substitut".
- dépôt nu
-
Un dépôt nu est normalement un répertoire nommé de manière appropriée avec un suffixe
.git
qui n’a pas de copie locale de tous les fichiers sous contrôle de révision. C’est-à-dire que tous les fichiers d’administration et de contrôle de Git qui seraient normalement présents dans le sous-répertoire caché.git
sont directement présents dans le répertoirerepository.git
à la place, et aucun autre fichier n’est présent et extrait. Habituellement, les éditeurs de dépôts publics mettent à disposition des dépôts nus. - objet blob
-
Objet non typé, par exemple le contenu d’un fichier.
- branche
-
Une "branche" est une ligne de développement. Le commit le plus récent sur une branche est appelé sommet de cette branche. Le sommet de la branche est référencé par une tête de branche, qui avance au fur et à mesure que des développements supplémentaires sont effectués sur la branche. Un seul dépôt 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 vers cette branche.
- cache
-
Obsolète pour : index.
- chaîne
-
Une liste d’objets, où chaque objet de la liste contient une référence à son successeur (par exemple, le successeur d’un commit pourrait être un de ses parents).
- ensemble de modifications
-
BitKeeper/cvsps parlent de "commit". Puisque Git ne stocke pas les modifications, mais les états, cela n’a pas vraiment de sens d’utiliser le terme "ensemble de modifications" avec Git.
- extraction
-
L’action de mettre à jour tout ou partie de l'arbre de travail avec un objet arbre ou un blob de la base de données des objets, et en mettant à jour l' index et la HEAD si l’ensemble de l’arbre de travail a été dirigé vers une nouvelle branche.
- picorage
-
Dans le jargon SCM, "picorage" signifie choisir un sous-ensemble de modifications dans une série de modifications (généralement des commits) et les enregistrer comme une nouvelle série de modifications sur une base de code différente. Dans Git, cela est effectué par la commande "git cherry-pick" pour extraire la modification introduite par un commit existant et pour l’enregistrer en fonction du sommet de la branche actuelle en tant que nouveau commit.
- propre
-
Un arbre de travail est propre, s’il correspond à la révision référencée par la tête courante. Voir aussi "sale".
- commit
-
En tant que substantif : Un point unique dans l’historique de Git ; l’historique complet d’un projet est représenté comme un ensemble de commits interconnectés. Le mot "commit" est souvent utilisé par Git aux mêmes endroits où d’autres systèmes de contrôle de révision utilisent les mots "revision" ou "version". Également utilisé comme raccourci pour objet commit.
- concept, représentations et utilisation du graphe de commit
-
Un synonyme de la structure DAG (Directed Acyclic Graph : graphe dirigé acyclique) formée par les commits de la base de données des objets, référencés par les sommets de branches, en utilisant leur chaîne de commits liés. Cette structure est le graphe de commits définitif. Le graphe peut être représenté d’autres façons, par exemple par le fichier "commit-graph".
- fichier de graphe de commit
-
Le fichier "commit-graph" (normalement avec un trait d’union) est une représentation supplémentaire du graphe de commit qui accélère les parcours du graphe de commit. Le fichier "commit-graph" est stocké soit dans le répertoire .git/objects/info, soit dans le répertoire info d’une base de données d’objets alternative.
- objet commit
-
Un objet qui contient les informations sur une révision particulière, telles que ses parents, validateur, auteur, date et le objet arbre qui correspond au répertoire racine de la révision stockée.
- commit-esque (également commitesque)
-
Un objet commit ou un objet qui peut être déréférencé récursivement vers un objet commit. Les éléments suivants sont tous des objets commit : un objet commit, un objet étiquette qui pointe vers un objet commit, un objet étiquette qui pointe vers un objet étiquette qui pointe vers un objet commit, etc.
- cœur Git
-
Structures de données fondamentales et utilitaires de Git. N’expose que des outils limités de gestion du code source.
- DAG
-
Graphe acyclique dirigé ('Directed Acyclique Graph"). Les objets commit forment un graphe acyclique dirigé, car ils ont des parents (dirigés), et le graphe des objets commit est acyclique (il n’y a pas de chaîne qui commence et se termine par le même objet).
- objet en suspens
-
Un objet inatteignable qui n’est pas joignable même à partir d’autres objets inatteignables ; un objet en suspens n’a aucune référence vers lui à partir de n’importe quelle référence ou objet dans le dépôt.
- déréférence
-
Se référant à une référence symbolique : l’action d’accéder à la référence pointée par une réf symbolique. Le déréférencement récursif implique de répéter le processus susmentionné sur la réf résultante jusqu’à ce qu’une référence non symbolique soit trouvée.
Se référant à un objet étiquette : l’action d’accéder à l'objet pointé par une étiquette. Les étiquettes sont référencées de façon récursive en répétant l’opération sur l’objet du résultat jusqu’à ce que le résultat ait le type d’objet spécifié (le cas échéant) ou tout type d’objet non "étiquette". Un synonyme de "déréférencer récursivement" dans le contexte des étiquettes est peler".
Se référant à un objet commit : action d’accéder à l’objet arbre du commit. Les commits ne peuvent pas être déréférés de façon récursive.
Sauf indication contraire, "déréférencer" tel qu’il est utilisé dans le contexte des commandes ou des protocoles Git est implicitement récursif.
- HEAD détachée
-
Normalement, la HEAD stocke le nom d’une branche et les commandes qui opèrent sur l’historique que représente le HEAD opèrent sur l’historique menant au sommet de la branche vers laquelle pointe la HEAD. Cependant, Git vous permet également d' extraire un commit arbitraire qui n’est pas nécessairement le sommet d’une branche particulière. La HEAD dans un tel état est appelé "détachée".
Notez que les commandes qui opèrent sur l’historique de la branche actuelle (par exemple
git commit
pour construire un nouvel historique par dessus) fonctionnent toujours même si la HEAD est détachée. Elles mettent à jour la HEAD pour pointer à l’extrémité de l’historique mis à jour sans affecter aucune branche. Les commandes qui mettent à jour ou demandent des informations sur la branche courante (par exemplegit branch --set-upstream-to
qui définit avec quelle branche de suivi à distance la branche actuelle s’intègre) ne fonctionnent évidemment pas, car il n’y a pas de branche actuelle (réelle) à demander dans cet état. - répertoire
-
La liste que vous obtenez avec "ls" :-)
- sale
-
Un arbre de travail est dit "sale" s’il contient des modifications qui n’ont pas été validées dans la branche actuelle.
- fusion maléfique
-
Une fusion maléfique est une fusion qui introduit des modifications qui n’apparaissent dans aucun des parents.
- avance rapide
-
Une avance rapide est un type spécial de fusion où vous avez une révision et vous "fusionnez" les modifications d’une autre branche qui se trouvent être descendantes de ce que vous avez. Dans ce cas, vous ne faites pas un nouveau commit de fusion mais vous mettez simplement à jour votre branche pour qu’elle pointe vers la même révision que la branche que vous fusionnez. Cela se produit fréquemment sur une branche de suivis à distance d’un dépôt distant.
- récupérer
-
Récupérer une branche signifie obtenir la référence head de la branche à partir d’un dépôt distant, pour trouver quels objets manquent dans la base de données d’objets locale, et les obtenir également. Voir aussi git-fetch[1].
- système de fichiers
-
Linus Torvalds a conçu à l’origine Git pour être un système de fichiers en espace utilisateur, c’est-à-dire l’infrastructure pour contenir les fichiers et les répertoires. Cela garantissait l’efficacité et la rapidité de Git.
- Archives Git
-
Synonyme de dépôt (pour les utilisateurs d’Arch).
- fichier-git
-
Un simple fichier
.git
à la racine d’un arbre de travail qui pointe vers le répertoire qui est le vrai dépôt. Pour une utilisation appropriée voir git-worktree[1] ou git-submodule[1]. Pour la syntaxe voir gitrepository-layout[5]. - greffes
-
Les greffes permettent de relier deux 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 d’un commit est différent de ce qui a été enregistré lors de la création du commit. Configuré via le fichier
.git/info/grafts
.Notez que le mécanisme de greffes est dépassé et peut conduire à des problèmes de transfert d’objets entre dépôts ; voir git-replace[1] pour un système plus flexible et plus robuste pour faire la même chose.
- hachage
-
Dans le contexte de Git, synonyme de nom de l’objet.
- tête
-
Une référence nommée au commit au sommet d’une branche. Les têtes sont stockées dans un fichier dans le répertoire
$GIT_DIR/refs/heads/
, sauf lors de l’utilisation de refs empaquetées. (Voir git-pack-refs[1].) - HEAD
-
La branche actuelle. Plus en détail : Votre arbre de travail est normalement dérivé de l’état de l’arbre auquel fait référence HEAD. HEAD est une référence à l’un des têtes de votre dépôt, sauf si vous utilisez une HEAD détachée, auquel cas elle fait directement et librement référence à un commit.
- réf. tête
-
Un synonyme de tête.
- crochet
-
Au cours de l’exécution normale de plusieurs commandes Git, des appels sont faits à des scripts optionnels qui permettent à un développeur d’ajouter des fonctionnalités ou des vérifications. Typiquement, les crochets permettent de pré-vérifier une commande et de l’interrompre éventuellement, et permettent une post-notification une fois l’opération effectuée. Les scripts de crochet se trouvent dans le répertoire
$GIT_DIR/hooks/
, et sont activés en retirant simplement le suffixe.sample
du nom du fichier. Dans les versions précédentes de Git, vous deviez les rendre exécutables. - index
-
Une collection de fichiers contenant des informations sur les statuts, dont le contenu est stocké sous forme d’objets. L’index est une version stockée de votre arbre de travail. À vrai dire, il peut aussi contenir une deuxième, voire une troisième version d’un arbre de travail, qui sont utilisées lors de fusions.
- entrée d’index
-
Les informations concernant un fichier particulier, stockées dans l'index. Une entrée d’index peut être non-fusionnée, si une fusion a été lancée, mais pas encore terminé (c’est-à-dire si l’index contient plusieurs versions de ce fichier).
- master
-
La branche de développement par défaut. Chaque fois que vous créez une dépôt Git, une branche nommée "master" est créée et devient la branche active. Dans la plupart des cas, elle contient le développement local, bien que cela soit purement par convention et ne soit pas nécessaire.
- fusionner
-
Apporter le contenu d’une autre branche (éventuellement d’un dépôt externe) dans la branche actuelle. Dans le cas où la branche fusionnée provient d’un dépôt différent, cela est fait en commençant par récupérer la branche distante et en fusionnant ensuite le résultat dans la branche actuelle. Cette combinaison d’opérations de récupération et de fusion est appelée une tirage. La fusion est effectuée par un processus automatique qui identifie les modifications apportées depuis que les branches ont divergé, puis applique toutes ces modifications ensemble. Dans les cas où les modifications entrent en conflit, une intervention manuelle peut être nécessaire pour effectuer la fusion.
Comme nom (fusion) : à moins qu’il ne s’agisse d’une avance rapide, une fusion réussie entraîne la création d’un nouveau commit représentant le résultat de la fusion, et ayant comme parents les sommets des branches fusionnées. Ce commit est appelé un "commit de fusion" , ou parfois simplement une "fusion".
- objet
-
L’unité de stockage dans Git. Il est identifié de manière unique par le SHA-1 de son contenu. Par conséquent, un objet ne peut pas être modifié.
- base de données d’objets
-
Stocke un ensemble d' "objets", et un objet individuel est identifié par son nom d’objet. Les objets se trouvent généralement dans
$GIT_DIR/objects/
. - identifiant d’objet (oid)
-
Synonyme de nom d’objet.
- nom d’objet
-
L’identifiant unique d’un objet. Le nom de l’objet est généralement représenté par une chaîne hexadécimale de 40 caractères. Aussi appelé familièrement SHA-1.
- type d’objet
-
Un identificateur parmi "commit", "arbre (tree)", "étiquette (tag)" ou "blob" décrivant le type d’un objet.
- pieuvre
- orphelin
-
L’acte de se mettre sur une branche qui n’existe pas encore (c.-à-d. une branche non-née). Après une telle opération, le commit créé devient un commit sans parent, commençant un nouvel historique.
- origine
-
Le dépôt amont par défaut. La plupart des projets ont au moins un projet amont qu’ils suivent. Par défaut, le nom origin est utilisé à cette fin. Les nouvelles mises à jour amont seront récupérées dans des branches de suivi à distance nommées origin/nom-de-la-branche-amont, que vous pouvez voir en utilisant
git branch -r
. - superposition
-
Ne fait que mettre à jour et ajouter des fichiers dans le répertoire de travail, mais ne les supprime pas, de la même manière que cp -R mettrait à jour le contenu du répertoire de destination. C’est le mode par défaut de l'extraction lors de l’extraction de fichiers depuis l'index ou un arbresque. En revanche, le mode sans superposition supprime également les fichiers suivis qui ne sont pas présents dans la source, de manière similaire à rsync --delete.
- paquet
-
Un ensemble d’objets qui ont été compressés en un seul fichier (pour gagner de l’espace ou pour les transmettre efficacement).
- index du paquet
-
La liste des identifiants, et d’autres informations, des objets dans un paquet, pour aider à accéder efficacement au contenu d’un paquet.
- spéc-de-chemin
-
Motif utilisé pour limiter les chemins dans les commandes Git.
Les spécifications de chemin sont utilisées sur la ligne de commande de "git ls-files", "git ls-tree", "git add", "git grep", "git diff", "git checkout" et de nombreuses autres commandes pour limiter la portée des opérations à un sous-ensemble de l’arbre ou de l’arbre de travail. Consultez la documentation de chaque commande pour savoir si les chemins sont relatifs au répertoire courant ou au premier niveau. La syntaxe de spécificateurs de chemin est la suivante :
-
tout chemin correspond à lui-même
-
le spécificateur de chemin jusqu’à la dernière barre oblique représente un préfixe de répertoire. La portée de ce spécificateur de chemin est limitée à ce sous-arbre.
-
le reste du spécificateur de chemin est un motif pour le reste du nom de chemin. Les chemins relatifs au préfixe du répertoire seront comparés à ce motif en utilisant fnmatch(3) ; en particulier, * et ? peuvent correspondre aux séparateurs de répertoire.
Par exemple, Documentation/*.jpg correspondra à tous les fichiers .jpg du sous-arbre Documentation, y compris Documentation/chapitre_1/figure_1.jpg.
Un spécificateur de chemin qui commence par un deux-points
:
a une signification particulière. Dans la forme courte, le deux-points de tête:
sont suivis par zéro ou plusieurs lettres de la "signature magique" (qui se termine éventuellement par un autre deux-points:
), et le reste est le motif à faire correspondre au chemin. La "signature magique" est constituée de symboles ASCII qui ne sont ni des caractères alphanumériques, ni des glob, ni des caractères spéciaux de regex, ni des deux-points. Le deux-points facultatif qui termine la "signature magique" peut être omis si le motif commence par un caractère qui n’appartient pas au jeu de symboles de la "signature magique" et qui n’est pas un deux-points.Dans la forme longue, le deux-points de tête
:
est suivi d’une parenthèse ouverte(
, d’une liste de zéro ou plus de "mots magiques" séparée par des virgules, et d’une parenthèse fermée)
, et le reste est le motif à comparer au chemin.Un spécificateur de chemin avec seulement un deux-points signifie "il n’y a pas de spécificateur de chemin". Cette forme ne doit pas être combinée avec d’autres spécificateurs de chemin.
- top
-
Le mot magique
top
(signature magique :/
) fait correspondre le motif à partir de la racine de l’arbre de travail, même si vous exécutez la commande depuis un sous-répertoire. - literal
-
Les caractères génériques dans le motif tels que
*
ou?
sont traités comme des caractères littéraux. - icase
-
Correspondance insensible à la casse.
- glob
-
Git traite le motif comme un glob shell qui peut être utilisé par fnmatch(3) avec l’option FNM_PATHNAME : les caractères génériques du motif ne correspondent pas à un / dans le chemin d’accès. Par exemple, "Documentation/*.html" ; correspond à "Documentation/git.html" ; mais pas à "Documentation/ppc/ppc.html" ; ou à "tools/perf/Documentation/perf.html" ;.
Deux astérisques consécutifs ("
**
") dans les motifs comparés au nom de chemin complet peuvent avoir une signification spéciale :-
Un "
**
" suivi d’une barre oblique signifie une correspondance dans tous les répertoires. Par exemple, "**/foo
" correspond au fichier ou au répertoire "foo
" n’importe où, comme le motif "foo
". "**/foo/bar
" correspond au fichier ou au répertoire "bar
" n’importe où, directement sous le répertoire "foo
". -
Un "
/**
" de queue correspond à tout ce qui se trouve à l’intérieur. Par exemple, "abc/**
" correspond à tous les fichiers du répertoire "abc", relativement à l’emplacement du fichier.gitignore
, avec une profondeur infinie. -
Une barre oblique suivie de deux astérisques consécutifs puis d’une barre oblique correspond à zéro ou plusieurs répertoires. Par exemple, "
a/**/b
" correspond à "a/b
", "a/x/b
", "a/x/y/b
" et ainsi de suite. -
Les autres astérisques consécutifs sont considérés comme non valides.
La correspondance globale est incompatible avec la correspondance littérale.
-
- attr
-
Après
attr:
vient une liste, séparée par des espaces, d'« exigences d’attribut », qui doivent tous être satisfaits pour que le chemin soit considéré comme une correspondance ; ceci est en plus de la correspondance habituelle des motifs non-magiques de spécificateur de chemin. Voir gitattributes[5].Chacun des attributs requis pour le chemin prend l’une de ces formes :
-
"
ATTR
" exige que l’attributATTR
soit défini. -
"
-ATTR
" exige que l’attributATTR
soit désactivé. -
"
ATTR=VALEUR
" exige que l’attributATTR
soit défini comme la chaîne de caractèresVALEUR
. -
"
!ATTR
" exige que l’attributATTR
soit non spécifié.Notez que lors de la correspondance avec un objet arbre, les attributs sont toujours obtenus à partir de l’arbre de travail, et non de l’objet arbre donné.
-
- exclude
-
Après qu’un chemin corresponde à un spécificateur de chemin non exclu, il sera parcouru par tous les spécificateurs de chemin exclus (signature magique :
!
ou son synonyme^
). S’il correspond, le chemin est ignoré. S’il n’y a pas de chemin d’accès non exclu, l’exclusion est appliquée au résultat comme si elle était invoquée sans spécificateur de chemin.
-
- parent
-
Un objet commit contient une liste (éventuellement vide) du ou des prédécesseurs logiques dans la ligne de développement, c’est-à-dire ses parents.
- peler
-
L’action de récursivement déréférencer un objet étiquette.
- pioche
-
Le terme pioche fait référence à une option des routines diffcore qui aide à sélectionner les modifications qui ajoutent ou suppriment une chaîne de texte donnée. Avec l’option
--pickaxe-all
, elle peut être utilisée pour afficher la totalité des ensembles de modifications qui ont introduit ou supprimé, disons, une ligne de texte particulière. Voir git-diff[1]. - plomberie
-
Nom mignon pour core Git.
- porcelaine
-
Nom mignon pour les programmes et les suites de programmes dépendant de core Git, présentant une interface de haut niveau au noyau Git. Les porcelaines exposent une interface plus SCM que la la plomberie.
- référence par-arbre-de-travail
-
Les références qui sont par-arbre-de-travail, plutôt que globales. Il ne s’agit actuellement que de HEAD et de toutes les références qui commencent par
refs/bisect/
, mais pourraient ultérieurement inclure d’autres références inhabituelles. - pseudoref
-
Une réf qui a une sémantique différente des réfs normales. Ces réfs peuvent être accédées par des commandes Git normales mais peuvent pas être écrites par des commandes comme git-update-ref[1].
Les pseudo-réfs suivantes sont connues de Git :
-
FETCH_HEAD
est écrite par git-fetch[1] ou git-pull[1]. Elle peut faire référence à plusieurs identifiants d’objets. Chaque identifiant d’objet est annoté avec des métadonnées indiquant l’endroit d’où il a été récupéré et son statut de récupération. -
MERGE_HEAD
est écrit par git-merge[1] lors de la résolution des conflits de fusion. Il contient tous les identifiants de commit qui sont fusionnés.
-
- tirage, tirer
-
Tirer une branche signifie la récupérer et la fusionner. Voir aussi git-pull[1].
- pousser
-
Pousser une branche signifie obtenir la la référence de tête à partir d’un d’un dépôt distant, savoir s’il s’agit d’un ancêtre de la référence de tête locale de la branche et, dans ce cas, placer tous les objets, qui sont accessibles de la référence de tête locale et qui sont manquants dans le dépôt distant, dans la la base de données d’objets distante et mettre à jour la référence de tête distante. Si la la tête distante n’est pas un ancêtre de la tête locale, la poussée échoue.
- accessible
-
Tous les ancêtres d’un commit donné sont dits « accessibles » à partir de ce commit. Plus généralement, un objet est accessible depuis un autre si nous pouvons atteindre l’un de l’autre par une chaîne qui suit les étiquettes à tout ce qu’ils marquent, les commits à leurs parents ou arbres, et les arbres aux arbres ou les blobs qu’ils contiennent.
- bitmaps d’accessibilité
-
Les bitmaps d’accessibilité stockent des informations sur l'accessibilité d’un ensemble sélectionné de commits dans un fichier paquet, ou un index multi-paquet (MIDX), pour accélérer la recherche d’objets. Les bitmaps sont stockés dans un fichier ".bitmap". Un dépôt peut avoir au maximum un fichier bitmap en cours d’utilisation. Le fichier bitmap peut appartenir soit à un paquet, soit à l’index multi-paquet du dépôt (s’il existe).
- rebaser, rebasage
-
Réappliquer une série de modifications d’une branche à une autre base et réinitialiser la tête de cette branche au résultat.
- réf, référence
-
Un nom qui pointe vers un nom d’objet ou une autre réf (cette dernière est appelée réf symbolique). Pour plus de commodité, une réf peut parfois être abrégée lorsqu’elle est utilisée comme argument pour une commande Git ; voir gitrevisions[7] pour plus de détails. Les références sont stockées dans le dépôt.
L’espace de référence est hiérarchique. Les noms réf doivent soit commencer par
refs/
ou être situés dans la racine de la hiérarchie. Pour ce dernier, leur nom doit suivre ces règles :-
Le nom se compose uniquement de caractères majuscules ou de soulignements.
-
Le nom se termine par "
_HEAD
" ou est égal à "HEAD
".Il y a quelques réfs irrégulières dans la racine de la hiérarchie qui ne correspondent pas à ces règles. La liste suivante est exhaustive et ne peut être étendue à l’avenir :
-
AUTO_MERGE
-
BISECT_EXPECTED_REV
-
NOTES_MERGE_PARTIAL
-
NOTES_MERGE_REF
-
MERGE_AUTOSTASH
Différentes sous-hiérarchies sont utilisées à des fins différentes. par exemple, la hiérarchie
refs/heads/
est utilisée pour représenter les branches locales) alors que la hiérarchierefs/tags
est utilisée pour représenter les balises locales.
-
- reflog
-
Un reflog montre l'« historique » local d’une référence. En d’autres termes, il peut vous dire quelle était la 3ème dernière révision dans ce dépôt, et quel était l’état actuel dans ce dépôt, hier à 21h14. Voir git-reflog[1] pour plus de détails.
- refspec
-
Un "refspec" est utilisé par fetch et push pour décrire la correspondance entre le réf distant et le réf local. Voir git-fetch[1] ou git-push[1] pour les détails.
- dépôt distant
-
Un dépôt qui est utilisé pour suivre le même projet mais qui réside ailleurs. Pour communiquer avec les distants, voir recupérer ou poussée.
- branche de suivi à distance
-
Une réf qui est utilisée pour suivre les changements d’un autre dépôt. Elle ressemble typiquement à refs/remotes/foo/bar (indiquant qu’elle suit une branche nommée bar dans un dépôt distant nommé foo), et correspond au côté droit d’un refspec configuré. Une branche de suivi à distance ne doit pas contenir de modifications directes ou avoir des commits locaux effectués sur elle.
- dépôt
-
Une collection de refs accompagnée d’une base de données d’objets contenant tous les objets qui sont joignables à partir des refs, éventuellement accompagnés de métadonnées provenant d’une ou plusieurs porcelaines. Un dépôt peut partager une base de données d’objets avec d’autres dépôts via des mécanismes alternatifs.
- résoudre
-
L’action de réparer manuellement ce que l’échec d’une fusion automatique a laissé derrière lui.
- révision
-
Synonyme de commit (le nom).
- rembobiner
-
Jeter une partie du développement, c’est-à-dire affecter la tête à une révision antérieure.
- SCM
-
Gestion du code source (Source Code Management en anglais).
- SHA-1
-
"Secure Hash Algorithm 1" une fonction de hachage cryptographique. Dans le contexte de Git, utilisé comme synonyme de nom d’objet.
- clone superficiel
-
Principalement un synonyme de dépôt superficiel mais la phrase rend plus explicite qu’il a été créé en exécutant la commande
git clone --depth=...
. - dépôt superficiel
-
Un dépôt superficiel a un historique incomplet dont certains commits ont des parents « cautérisés » (en d’autres termes, on dit à Git de prétendre que ces commits n’ont pas de parents, même s’ils sont enregistrés dans le l’objet commit). Ceci est parfois utile lorsque vous n’êtes intéressé que par l’historique récent d’un projet même si l’historique réel enregistré dans l’amont est beaucoup plus important. Un dépôt superficiel est créé en donnant l’option
--depth
à git-clone[1], et son historique peut être approfondi plus tard avec git-fetch[1]. - entrée de remisage
-
Un objet utilisé pour stocker temporairement le contenu d’un répertoire de travail sale et l’index pour une réutilisation future.
- sous-module
-
Un dépôt qui contient l’historique d’un projet séparé à l’intérieur d’un autre dépôt (ce dernier est appelé superprojet).
- superprojet
-
Un dépôt qui fait référence aux dépôts d’autres projets dans son arbre de travail comme sous-modules. Le superprojet connaît les noms des objets commit des sous-modules contenus (mais n’en détient pas de copie).
- symref ou référence symbolique
-
Référence symbolique : au lieu de contenir l’identifiant SHA-1 lui-même, elle est au format ref:refs/quelque/chose et lorsqu’elle est référencée, elle déréférence récursivement vers cette référence. HEAD est un excellent exemple de symref. Les références symboliques sont manipulées avec la commande git-symbolic-ref[1].
- étiquette
-
Une réf sous l’espace de noms
refs/tags/
qui pointe vers un objet d’un type arbitraire (typiquement, une étiquette pointe vers un objet tag ou un objet commit). Contrairement à une tête, une étiquette n’est pas mise à jour par la commandecommit
. Une étiquette Git n’a rien à voir avec un tag Lisp (qui serait appelé un type d’objet dans le contexte de Git). Une étiquette est le plus souvent utilisée pour marquer un point particulier dans la chaîne d’ascendance de commits. - objet étiquette
-
Un objet contenant une réf pointant vers un autre objet, qui peut contenir un message tout comme un objet commit. Il peut également contenir une signature (PGP), auquel cas il est appelé un "objet étiquette signé".
- branche thématique
-
Une branche régulière de Git qui est utilisée par un développeur pour identifier une ligne conceptuelle de développement. Comme les branches sont très faciles et peu coûteuses, il est souvent souhaitable d’avoir plusieurs petites branches qui contiennent chacune des concepts très bien définis ou de petits changements incrémentiels mais liés.
- arbre
-
Soit un arbre de travail, soit un objet arbre avec les blob et objets arbre dépendants (c’est-à-dire une représentation stockée d’un arbre de travail).
- objet arbre
-
Un objet contenant une liste de noms et de modes de fichiers ainsi que des références aux objets blob et/ou arbres associés. Un arbre est équivalent à un répertoire.
- arbre-esque (aussi arbresque)
-
Un objet arbre ou un objet qui peut être déréférencé récursivement vers un objet arbre. Le déréférencement d’un objet commit donne l’objet arbre correspondant au répertoire racine de la révision. Les éléments suivants sont tous des arbres-esques : un commit-esque, un objet arbre, un objet étiquette qui pointe vers un objet arbre, un objet étiquette qui pointe vers un objet étiquette qui pointe vers un objet arbre, etc.
- non né
-
L'HEAD peut pointer à une branche qui n’existe pas encore et qui n’a pas encore de commit sur elle, et une telle branche est appelée une branche non-née. La façon la plus typique que les utilisateurs rencontrent une branche non-née est de créer un dépôt nouvellement créé sans clonage depuis ailleurs. La HEAD pointerait sur la branche main (ou master, selon votre configuration) qui n’est pas encore née. En outre, certaines opérations peuvent vous obtenir sur une branche non-née avec leur option orpheline.
- index non fusionné
-
Un index qui contient des entrées d’index non fusionnées.
- objet inaccessible
-
Un objet qui n’est pas joignable à partir d’une branche, d’une étiquette, ou de toute autre référence.
- branche amont
-
La branche par défaut qui est fusionnée dans la branche en question (ou sur laquelle la branche en question est rebasée). Elle est configurée via branch.<nom>.remote et branch.<nom>.merge. Si la branche amont de A est origin/B on dit parfois "A suit origin/B".
- arbre de travail
-
L’arbre des fichiers effectivement extraits. L’arbre de travail contient normalement le contenu de l’arbre du commit HEAD, plus toutes les modifications locales que vous avez faites mais pas encore validées.
- arbre-de-travail
-
Un dépôt peut avoir zéro (c’est-à-dire un dépôt nu) ou un ou plusieurs arbres de travail attachés à lui. Un "arbre-de-travail" consiste en un "arbre de travail" et des métadonnées de dépôt, dont la plupart sont partagées entre les autres arbres-de-travail d’un même dépôt, et dont certaines sont maintenues séparément par arbre-de-travail (par exemple l’index, HEAD et les pseudoréfs comme MERGE_HEAD, les réfs par arbre-de-travail et le fichier de configuration par arbre-de-travail).
GIT
Fait partie de la suite git[1]
TRADUCTION
Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .