Простой git log <hash>
вызов для коммита слияния показывает сокращенные хеши своих родителей:
$ git log -1 395f65d
commit 395f65d438b13fb1fded88a330dc06c3b0951046
Merge: 9901923 d28790d
...
git
выводит родителей в соответствии с их номером: первый (самый левый) хеш - для первого родителя и т. Д.
Если все, что вам нужно, это просто хэши, два эквивалентных варианта:
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list
также может показывать хэши родителей, хотя сначала будет отображаться хеш для коммита:
$ git rev-list --parents -n 1 <commit>
Если вы хотите осмотреть родителей, вы можете обращаться к ним напрямую в каратах как <commit>^1
и <commit>^2
, например ::
git show <commit>^1
Это обобщает; для слияния осьминогов вы можете сослаться на n th parent как <commit>^n
. Вы можете обратиться ко всем родителям с помощью <commit>^@
, хотя это не работает, когда требуется один коммит. Дополнительные суффиксы могут появляться после родительского синтаксиса n th (например, <commit>^2^
, <commit>^2^@
), тогда как они не могут появляться после ^@
(<commit>^@^
недопустимо). Подробнее об этом синтаксисе читайте в справочной странице rev-parse
.