2011-05-25 12 views
33

Un colega mío revisó algunos cambios en Git, y quiero ver exactamente cuáles fueron esos cambios. En otras palabras, la diferencia entre su check-in y su padre.Git - la manera más fácil de ver la diferencia con la versión anterior si tengo el sha

Lo que parecía lógico para mí fue la de ejecutar este comando:

git diff shaOfHisCheckIn 

Pero esto no funcionó. Parece mostrar la diferencia entre ese SHA y mi copia de trabajo actual.

¿Cuál es el comando correcto para mostrar la diferencia entre un SHA dado y su elemento primario?

Respuesta

54

git show es su amigo:

git show shaOfHisCheckIn 
+0

Gracias, eso es exactamente lo que necesito, y es fácil de recordar y de escribir. –

+0

¡De nada! También funciona para las etiquetas ('git show ') - es un comando realmente útil. –

1

git diff shaOfHisCheckIn shaOfHisCheckIn^

4

Prueba esto:

git diff shaOfHisCheckIn^ shaOfHisCheckIn 

o

git diff shaOfHisCheckIn{^,} 
6

Si desea ver el di ff visualmente en kdiff3, meld, kompare, xxdiff, tkdiff, diffuse ...

git difftool --dir-diff shaOfHisCheckIn^! 

git difftool --tool=meld --dir-diff shaOfHisCheckIn^! 

git difftool -t meld -d shaOfHisCheckIn^! 
Cuestiones relacionadas