Simple, git log <hash>
das für ein Merge-Commit aufgerufen wird, zeigt abgekürzte Hashes seiner Eltern:
$ git log -1 395f65d
commit 395f65d438b13fb1fded88a330dc06c3b0951046
Merge: 9901923 d28790d
...
git
gibt Eltern entsprechend ihrer Anzahl aus: Der erste (ganz links stehende) Hash ist für den ersten Elternteil und so weiter.
Wenn Sie nur die Hashes wünschen, haben Sie zwei Möglichkeiten:
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list
kann auch die Hashes der Eltern anzeigen, obwohl zuerst der Hash für ein Commit aufgelistet wird:
$ git rev-list --parents -n 1 <commit>
Wenn Sie die Eltern untersuchen möchten, können Sie sie direkt mit Karat als <commit>^1
und bezeichnen <commit>^2
, z.
git show <commit>^1
Dies verallgemeinert; Für eine Octopus-Zusammenführung können Sie sich auf das n- te übergeordnete Element als beziehen <commit>^n
. Sie können sich auf alle Eltern mit beziehen <commit>^@
, obwohl dies nicht funktioniert, wenn ein einzelnes Commit erforderlich ist. Zusätzliche Suffixe können nach dem n erscheinen th Mutter Syntax (zB <commit>^2^
, <commit>^2^@
), während sie nicht nach ^@
( <commit>^@^
nicht gültig). Weitere Informationen zu dieser Syntax finden Sie in der rev-parse
Manpage.