Cuando lo hago git diff COMMIT
, veo los cambios entre ese commit y HEAD (hasta donde yo sé), pero me gustaría ver los cambios realizados por ese commit único.
No he encontrado ninguna opción obvia en diff
/ log
que me dé esa salida.
git
version-control
diff
git-diff
laktak
fuente
fuente
Respuestas:
Para ver la diferencia de un
COMMIT
hash particular :git diff COMMIT~ COMMIT
le mostrará la diferencia entreCOMMIT
el antepasado de ese y elCOMMIT
. Consulte las páginas de manual de git diff para obtener detalles sobre el comando y gitrevisions sobre~
notación y sus amigos.Alternativamente,
git show COMMIT
hará algo muy similar. (Los datos de la confirmación, incluida su diferencia, pero no para las confirmaciones de fusión). Consulte la página de manual de git show .fuente
^
necesidades deben citarse en los shells Thomson y Bourne (sinónimo de|
allí) yrc
sus derivados (operador de intercalación) yzsh
con elnot
globo extendido habilitado ( operador global)HEAD^
implica el primer padre en caso de que un commit tenga varios padres (es decir, commit de fusión).git diff COMMIT~ COMMIT
funciona para mí, observe la tilde en lugar de descuidar. Estoy ejecutando git versión 2.6.1.windows.1 en Windows 10.Como se menciona en " Taquigrafía para diff de git commit con su padre? ", También se puede usar
git diff
con:o
Con git show, necesitarías (para enfocarte solo en diff) hacer:
El
COMMIT
parámetro es commit-ish :Consulte gitrevision "ESPECIFICANDO REVISIONES" para hacer referencia a un commit-ish.
Vea también " ¿Qué significa tree-ish en Git? ".
fuente
También puedes probar esta manera fácil:
fuente
git show
muestra los cambios realizados en la confirmación más reciente.Equivalente a
git show HEAD
.git show HEAD~1
te lleva de vuelta 1 commit.fuente
Yo suelo hacer:
Para mostrar los cambios con respecto a la última confirmación. Si tiene más confirmaciones, aumente el número 1 a la cantidad de confirmaciones que desea ver.
fuente
Primero obtenga la ID de confirmación usando,
O
Copiar commit id.
Ahora usamos dos métodos para enumerar los cambios de una confirmación específica,
Método 1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
Método 2:
fuente
^!
??Esto le mostrará exactamente lo que hay en esa confirmación. Creo que puedes hacer un rango simplemente poniendo un espacio entre dos commits shas.
lo cual es bastante útil si está haciendo un rebase a menudo porque sus registros de características estarán todos en una fila.
fuente
Desde la página de manual para git-diff (1) :
Use el tercero en el medio:
También desde la misma página de manual, en la parte inferior, en la sección de Ejemplos :
Es cierto que está redactado un poco confuso, sería menos confuso como
fuente
git diff HEAD HEAD^
.Lo siguiente parece hacer el trabajo; Lo uso para mostrar lo que ha sido traído por una fusión.
fuente
git log
? (debido a stackoverflow.com/a/18585297/6309 )Otra posibilidad:
fuente
Podrías usar
git diff HEAD HEAD^1
para ver la diferencia con la confirmación principal.Si solo desea ver la lista de archivos, agregue la
--stat
opción.fuente
diff
comando es: ¿qué necesitaría cambiar en el archivo para pasar de commitHEAD
a commitHEAD^1
?También es posible si ha configurado su difftool.
Vea aquí cómo configurar difftool o la página de manual aquí
Además, puede usar
git diff-tree --no-commit-id --name-only -r <commit hash>
para ver qué archivos se han cambiado / confirmado en un hash de confirmación de entregafuente
Me gusta el siguiente comando para comparar una confirmación específica y su última confirmación:
Ejemplo:
fuente
Para ver el autor y el tiempo por uso de compromiso
git show COMMIT
. Lo que resultará en algo como esto:Si desea ver qué archivos se han cambiado, ejecute lo siguiente con los valores de la línea de combinación anterior
git diff --stat a2a2894 3a1ba8f
.Si desea ver la diferencia real, ejecute
git --stat a2a2894 3a1ba8f
fuente
git --stat a2a2894 3a1ba8f
". Creo que te refieresgit diff a2a2894 3a1ba8f
o si nounknown option: --stat
.Para verificar los cambios completos:
Para verificar solo los archivos modificados / agregados / eliminados:
NOTA : Para verificar diff sin commit en el medio, no necesita poner los identificadores de commit.
fuente
Estoy ejecutando Git versión 2.6.1.windows.1 en Windows 10, por lo que necesitaba una ligera modificación a la respuesta de Nevik (tilde en lugar de caret):
Otra opción es citar el cursor:
fuente
Este comando te dará el commit-hash principal de Git:
Después de esto
git diff-tool <commit-hash> <parent-commit-hash>
Ejemplo:
Después de este
fuente
Si solo desea ver los cambios en la última confirmación, simplemente
git show
se lo dará.fuente
En caso de comprobar el cambio de origen en una vista gráfica,
por ejemplo:
fuente