более полезным, поскольку вы получаете не только сообщения коммита, но и весь 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.