Como obter as alterações em uma ramificação no Git

Qual é a melhor maneira de obter um log de confirmações em uma ramificação desde o momento em que ela foi ramificada da ramificação atual? Minha solução até agora é:

git log $(git merge-base HEAD branch)..branch

A documentação para git-diff indica quegit diff A...B é equivalente agit diff $(git-merge-base A B) B. Por outro lado, a documentação para git-rev-parse indica quer1...r2 é definido comor1 r2 --not $(git merge-base --all r1 r2).

Por que estes são diferentes? Observe quegit diff HEAD...branch me dá as diferenças que eu quero, mas o comando git log correspondente me dá mais do que eu quer

Nas imagens, suponha o seguinte:

         x---y---z---branch
        /
---a---b---c---d---e---HEAD

Gostaria de obter um log contendo confirmações x, y, z.

git diff HEAD...branch dá esses commitsContudo,git log HEAD...branch fornece x, y, z, c, d,

questionAnswers(9)

yourAnswerToTheQuestion