¿Cuál es la mejor forma de obtener un registro de confirmaciones en una sucursal desde el momento en que se ramificó desde la sucursal actual? Mi solución hasta ahora es:Cómo obtener los cambios en una sucursal en Git
git log $(git merge-base HEAD branch)..branch
La documentación para git-diff indica que git diff A...B
es equivalente a git diff $(git-merge-base A B) B
. Por otro lado, la documentación para git-rev-parse indica que r1...r2
se define como r1 r2 --not $(git merge-base --all r1 r2)
.
¿Por qué son diferentes? Tenga en cuenta que git diff HEAD...branch
me da los diffs que quiero, pero el comando de registro git correspondiente me da más de lo que quiero.
En imágenes, supongamos lo siguiente:
x---y---z---branch / ---a---b---c---d---e---HEAD
me gustaría obtener un registro que contiene la confirmación se x, y, z.
git diff HEAD...branch
da estas commit- sin embargo,
git log HEAD...branch
da x, y, z, c, d, e.
Estás utilizando "git log" incorrectamente para tus propósitos según lo que puedo ver. He agregado mi respuesta a continuación. – PlagueHammer