Cómo obtener los cambios en una sucursal en Git

¿Cuál es la mejor manera de obtener un registro de confirmaciones en una rama desde el momento en que se bifurcó desde la rama actual? Mi solución hasta ahora es:

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

La documentación para git-diff indica quegit diff A...B es equivalente agit diff $(git-merge-base A B) B. Por otro lado, la documentación para git-rev-parse indica quer1...r2 Se define comor1 r2 --not $(git merge-base --all r1 r2).

¿Por qué son diferentes? Tenga en cuenta quegit diff HEAD...branch me da las diferencias que quiero, pero el comando git log correspondiente me da más de lo que quiero.

En imágenes, suponga esto:

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

Me gustaría obtener un registro que contenga confirmaciones x, y, z.

git diff HEAD...branch da estos commitssin embargo,git log HEAD...branch da x, y, z, c, d, e.

Respuestas a la pregunta(9)

Su respuesta a la pregunta