¿Cómo veo las diferencias de compromiso entre las twigs en git?

Estoy en la twig X y he agregado un par de confirmaciones más. Quiero ver todas las diferencias entre MASTER y la twig en la que estoy en términos de compromisos. Podría simplemente hacer una

git checkout master git log 

y luego un

 git checkout branch-X git log 

y visualmente difieren estos, pero estoy esperando un método más fácil, less propenso a errores.

Puede get un resultado visual realmente agradable de cómo difieren sus twigs con este

 git log --graph --pretty=format:'%Cnetworking%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X 

Puedes hacerlo fácilmente con

 git log master..branch-X 

Eso le mostrará que se compromete con la twig X pero el maestro no.

Creo que es cuestión de elección y context. Prefiero usar

 git log origin/master..origin/develop --oneline 

Mostrará commits en develop que no están en la twig master.

Si quieres ver qué files están realmente modificados usa

 git diff --stat origin/master..origin/develop 

Si no especifica los arguments, mostrará la diferencia completa. Si desea ver diff visual, instale meld en Linux, o WinMerge en Windows. Asegúrate de que sean los difftools pnetworkingeterminados. Luego usa algo como

 git difftool -y origin/master..origin/develop 

En caso de que quiera compararlo con la sucursal actual. Es más conveniente usar HEAD en lugar de nombre de twig como uso:

 git fetch git log origin/master..HEAD --oneline 

Le mostrará todos los compromisos, a punto de fusionarse

Si estás en Linux, gitg es el path a seguir para hacerlo de manera rápida y gráfica.

Si insiste en la línea de command, puede usar:

 git log --oneline --decorate 

Para que git log más agradable de forma pnetworkingeterminada, generalmente establezco estas preferences globales:

 git config --global log.decorate true git config --global log.abbrevCommit true 

Sugeriría lo siguiente para ver la diferencia "en commits". Para la diferencia simétrica, repita el command con args invertidos:

 git cherry -v master [your branch, or HEAD as default] 

si quieres usar gitk:

 gitk master..branch-X 

tiene una buena GUi de la vieja escuela

 #! /bin/bash if ((2==$#)); then a=$1 b=$2 alog=$(echo $a | tr '/' '-').log blog=$(echo $b | tr '/' '-').log git log --oneline $a > $alog git log --oneline $b > $blog diff $alog $blog fi 

Esto se debe a que permite que los loggings a y b se diferencien visualmente, uno al lado del otro, si tienes una herramienta de diferencia visual. Reemplace el command diff al final con el command para iniciar la herramienta visual diff.

No es la respuesta perfecta, pero funciona mejor para las personas que usan Github:

enter image description here

Vaya a su repository: Insights -> Network