Supposons que scratch
est un dépôt distant et bough
est une branche de ce référentiel. Cela signifie que l'une des lignes imprimées par git branch -r
sera scratch/bough
. Si j'exerceraiLe contenu de .git/config après la branche git -t x y/z
% git branch -t twig scratch/bough
Branch twig set up to track remote branch bough from scratch.
puis examiner le contenu de .git/config
, je vois qu'une nouvelle section a été ajoutée à elle:
[branch "twig"]
remote = scratch
merge = refs/heads/bough
La valeur de l'attribut merge
peut conduire à croire que il y a un fichier .git/refs/heads/bough
, mais en fait il n'y a pas un tel fichier. Mais il est maintenant un fichier .git/refs/heads/twig
:
.git/refs
├── heads
│ ├── master
│ └── twig
├── remotes
│ └── scratch
│ └── HEAD
└── tags
Cela me fait réaliser que soit la ligne merge = refs/heads/bough
ne signifie pas pourquoi je pensais que ce fait (OIEau, que la valeur fait référence au chemin, par rapport à .git
, de un fichier existant), ou bien il y a un bug assez important dans git. Donc, supposons que le premier cas soit le cas. Que signifie alors la ligne merge = refs/heads/bough
?
je viens de devoir +1 votre question à cause de 'scratch/HEAD' xD –