Apa cara terbaik untuk mendapatkan log komit pada cabang sejak saat itu bercabang dari cabang saat ini? Solusi saya sejauh ini adalah:
git log $(git merge-base HEAD branch)..branch
Dokumentasi untuk git-diff menunjukkan bahwa git diff A...B
itu setara dengan git diff $(git-merge-base A B) B
. Di sisi lain, dokumentasi untuk git-rev-parse menunjukkan bahwa r1...r2
didefinisikan sebagai r1 r2 --not $(git merge-base --all r1 r2)
.
Mengapa ini berbeda? Catatan yang git diff HEAD...branch
memberi saya diff yang saya inginkan, tetapi perintah git log yang sesuai memberi saya lebih dari yang saya inginkan.
Dalam gambar, anggap ini:
x --- y --- z --- cabang / --- a --- b --- c --- d --- e --- KEPALA
Saya ingin mendapatkan log yang berisi komit x, y, z.
git diff HEAD...branch
berikan komitmen ini- Namun,
git log HEAD...branch
beri x, y, z, c, d, e.