Tengo una sucursal local que rastrea la sucursal remota / maestra. Después de ejecutar git-pull
y git-log
, el registro mostrará todas las confirmaciones en la rama de seguimiento remoto, así como en la rama actual. Sin embargo, debido a que se realizaron tantos cambios en la sucursal remota, necesito ver solo las confirmaciones realizadas en la sucursal local actual.
¿Cuál sería el comando Git para usar solo para mostrar confirmaciones para una rama específica?
Notas:
Información de configuración:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
fuente
git log --no-merges master..
Era exactamente lo que necesitaba.--no-merges
puede parecer que solo muestra confirmaciones de una rama específica, pero en realidad solo muestra confirmaciones que no resultaron en una fusióngit log --no-merges --pretty='%C(yellow)%h%d %Creset%an %Cgreen%ar:%Creset %s' --graph master..
Utilizar:
Es solo para la rama de destino (por supuesto --graph, --abbrev-commit --decorate son más pulidos).
La opción clave es
--first-parent
: "Siga solo la primera confirmación principal al ver una confirmación de fusión" ( https://git-scm.com/docs/git-log )Impide que se muestren los tenedores de confirmación.
fuente
--first-parent <branch_name>
Es la opción. trabajos !--first-parent <branch_name>
También funcionó para mí! Terminé con un alias paragit log --first-parent $current_branch_name --no-merges
. En respuesta a @EdRandall, mostrará las confirmaciones en la rama + aquellas de donde se bifurcó. Por ejemplo:new_feature
del maestro. Agrega commits C y D a él. Luego agregas E y F para dominar. Luego fusionas maestro anew_feature
. El usogit log
denew_feature
, verá "maestro de combinación", F, E, D, C, A, B, usandogit log --first-parent new_feature --no-merges
, verá D, C, A, B.Si solo desea las confirmaciones que realiza en una rama en particular, use el siguiente comando.
fuente
El problema que estaba teniendo, que creo que es similar a esto, es que el maestro estaba muy por delante de mi punto de ramificación para que la historia sea útil. (Navegar hasta el punto de ramificación llevaría demasiado tiempo).
Después de algunas pruebas y errores, esto me dio aproximadamente lo que quería:
fuente
solo corre
git log origin/$BRANCH_NAME
fuente