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>^1und 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-parseManpage.