Simple git log <hash>
dipanggil untuk komit gabungan menunjukkan disingkat hashes dari orang tuanya:
$ git log -1 395f65d
commit 395f65d438b13fb1fded88a330dc06c3b0951046
Merge: 9901923 d28790d
...
git
mengeluarkan orang tua sesuai dengan nomor mereka: hash pertama (paling kiri) adalah untuk orang tua pertama, dan seterusnya.
Jika yang Anda inginkan hanyalah hash, dua pilihan yang setara adalah:
$ git log --pretty=%P -n 1 <commit>
$ git show -s --pretty=%P <commit>
git rev-list
dapat juga menunjukkan hash orang tua, meskipun itu akan mencantumkan hash untuk komit:
$ git rev-list --parents -n 1 <commit>
Jika Anda ingin memeriksa orang tua, Anda dapat merujuk mereka langsung dengan karat sebagai <commit>^1
dan <commit>^2
, misalnya:
git show <commit>^1
Ini menggeneralisasi; untuk gurita menggabungkan Anda dapat merujuk ke n th induk sebagai <commit>^n
. Anda dapat merujuk ke semua orang tua dengan <commit>^@
, meskipun ini tidak berfungsi ketika satu komit diperlukan. Sufiks tambahan bisa muncul setelah sintaks induk ke- n (misalnya <commit>^2^
, <commit>^2^@
), sedangkan sufiks tidak bisa setelah ^@
( <commit>^@^
tidak valid). Untuk lebih lanjut tentang sintaks ini, baca rev-parse
halaman manual.
git log
dangit show
mengeluarkan hal-hal yang sangat berbeda jika hanya ada satu orang tua. Lebih sukagit log
jika Anda menginginkan konsistensi.git (v2.17.1)
. Saya tidak melihatMerge
file dalamgit log -1
output.Berikut ini adalah cara termudah yang saya temukan untuk melihat induk gabungan
sumber
git cat-file -p 3706454
adalah sama tetapi bahkan lebih pendek :)git log --pretty=raw -1 3706454