Simple git log <hash>
appelé pour un commit de fusion montre les hachages abrégés de ses parents:
$ git log -1 395f65d
commit 395f65d438b13fb1fded88a330dc06c3b0951046
Merge: 9901923 d28790d
...
git
renvoie les parents en fonction de leur numéro: le premier hachage (le plus à gauche) est pour le premier parent, et ainsi de suite.
Si vous ne voulez que les hachages, les deux choix équivalents sont:
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list
peut également afficher les hachages des parents, bien qu'il répertorie d'abord le hachage pour un commit:
$ git rev-list --parents -n 1 <commit>
Si vous souhaitez examiner les parents, vous pouvez vous y référer directement avec des carats comme <commit>^1
et <commit>^2
, par exemple:
git show <commit>^1
Cela se généralise; pour une fusion de poulpe, vous pouvez désigner le n ème parent comme <commit>^n
. Vous pouvez faire référence à tous les parents avec <commit>^@
, bien que cela ne fonctionne pas lorsqu'un seul commit est requis. Des suffixes supplémentaires peuvent apparaître après la n ième syntaxe parent (par exemple <commit>^2^
, <commit>^2^@
), alors qu'ils ne peuvent pas après ^@
( <commit>^@^
n'est pas valide). Pour plus d'informations sur cette syntaxe, lisez la rev-parse
page de manuel.