Hay otra forma en general de hacer esto que no se basa en --first-parent
que será útil en ciertas situaciones .. utilizando los filtros de exclusión rama
git log origin/topic ^origin/master
Esto le dará un registro de origin/topic
con todos origin/master
's commits removed.
también podría agregar en --no-merges
que ocultará las confusiones de fusión que puede o no desear.
Otro consejo útil es usar shortlog
en lugar de log
que le dará más de un resumen abbreivated que puede ser útil para las notas de la versión, o la comunicación de lo que está en una rama.
actualización
Después de volver a leer esto, en realidad se quiere que casi la inversa de lo que he publicado; sin embargo, terminaría excluyendo todo lo que está en master y foo (git log origin/master ^origin/foo
). Sin embargo, también puede obtener lo que solicita (ocultar todas las confirmaciones que forman parte de las fusiones) con git log origin/master --no-merges
Entonces, ¿cómo sabría git que 'D' y' Z' formaban parte de la rama fusionada? – Romain
Cuando se fusionan desde el maestro, las confirmaciones maestras anteriores son las primeras en fusionarse. 'git log' permite mostrar solo esas confirmaciones con' --first-parent', para que obtenga el material correcto – CharlesB
posible duplicado de [¿Cómo ejecuto Git Log para ver los cambios solo para una rama específica?] (http://stackoverflow.com/questions/4649356/how-do-i-run-git-log-to-see-changes-only-for-a-specific-branch) –