Каков наилучший способ получить журнал коммитов на ветке с момента его ветвления от текущей ветки? Мое решение до сих пор:
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---branch
/
---a---b---c---d---e---HEAD
Я хотел бы получить журнал, содержащий коммиты x, y, z.
git diff HEAD...branch
дает эти коммиты
- однако,
git log HEAD...branch
дает x, y, z, c, d, e.