Каков наилучший способ получить журнал фиксаций на ветке с момента ее разветвления с текущей ветвью? Мое решение до сих пор:
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 дает мне больше, чем я хочу.
В картинках предположим следующее:
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.