более полезным, поскольку вы получаете не только сообщения коммита, но и весь diff. Если вы уже находитесь в ветке, в которой хотите увидеть изменения и (например) хотите увидеть, что изменилось в мастере, вы можете использовать:
наилучший способ получить журнал коммитов на ветке с момента его ветвления от текущей ветки? Мое решение до сих пор:
git log $(git merge-base HEAD branch)..branch
Документация дляГИТ-Diff указывает на то, чтоgit diff A...B
эквивалентноgit diff $(git-merge-base A B) B
, С другой стороны, документация дляГИТ-Rev-синтаксический анализ указывает на то, что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.