Каков наилучший способ получить журнал коммитов на ветке с момента его ветвления от текущей ветки? Мое решение до сих пор:
git log $(git merge-base HEAD branch)..branch
Документация для git-diff указывает, что git diff A...B
эквивалентно git diff $(git-merge-base A B) B
. С другой стороны, документация для git-rev-parse указывает, что r1...r2
определяется как r1 r2 --not $(git merge-base --all r1 r2)
.
Почему они разные? Обратите внимание, что это git diff HEAD...branch
дает мне нужные мне различия, но соответствующая команда git log дает мне больше, чем я хочу.
В картинках предположим, что это:
х --- у --- --- г ветви / --- --- б --- с --- --- д е --- ГОЛОВКА
Я хотел бы получить журнал, содержащий коммиты x, y, z.
git diff HEAD...branch
дает эти коммиты- однако
git log HEAD...branch
дает x, y, z, c, d, e.