ver tipos tag pendientes oneline modificados log etiquetas descartar crear commits cambios archivos git version-control diff git-diff

tipos - git ver commits pendientes



¿Cómo ver los cambios en un Git commit? (16)

Como se menciona en " Taquigrafía para diff de git commit con su padre? ", También puedes usar git diff con:

git diff COMMIT^!

o

git diff-tree -p COMMIT

Con git show, necesitarías (para enfocarte solo en diff) hacer:

git show --color --pretty=format:%b $COMMIT

El parámetro COMMIT es un commit-ish :

Un objeto de confirmación o un object que se puede anular recursivamente a un objeto de confirmación. A continuación se incluyen todos los campos de confirmación: un objeto de confirmación, un objeto de etiqueta que apunta a un objeto de confirmación, un objeto de etiqueta que apunta a un objeto de etiqueta que apunta a un objeto de confirmación, etc.

Consulte gitrevision "ESPECIFIENDO REVISIONES" para hacer referencia a un commit-ish.
Consulte también " ¿Qué significa tree-ish en Git? ".

Cuando hago git diff COMMIT veo los cambios entre ese compromiso y HEAD (que yo sepa), pero me gustaría ver los cambios que se realizaron con ese único compromiso.

No he encontrado ninguna opción obvia en diff / log que me dé esa salida.


De la página del manual para git-diff(1) :

git diff [options] [<commit>] [--] [<path>…] git diff [options] --cached [<commit>] [--] [<path>…] git diff [options] <commit> <commit> [--] [<path>…] git diff [options] <blob> <blob> git diff [options] [--no-index] [--] <path> <path>

Usa el tercero en el medio:

git diff [options] <parent-commit> <commit>

También desde la misma página de manual, en la parte inferior, en la sección de ejemplos :

$ git diff HEAD^ HEAD <3>

Compare la versión antes de la última confirmación y la última confirmación.

Es cierto que está redactado un poco confuso, sería menos confuso como

Compare la confirmación más reciente con la confirmación anterior.


En caso de comprobar el cambio de fuente en una vista gráfica,

$gitk (Mention your commit id here)

por ejemplo:

$gitk HEAD~1


Este comando te dará el hash de confirmación padre de Git:

git log -n 2 <commit-hash>

Después de eso, git diff-tool <commit-hash> <parent-commit-hash>

Ejemplo:

bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3 commit 7f65b9a9d3820525766fcba285b3c678e889fe3b Author: souparno <[email protected]> Date: Mon Jul 25 13:17:07 2016 +0530 CSS changed to maintain the aspect ratio of the channel logos and to fit them properly. commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f Author: souparno <[email protected]> Date: Mon Jul 25 11:28:09 2016 +0530 The ratio of the height to width of the channel images are maintained.

Después de este

git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f


Estoy ejecutando Git versión 2.6.1.windows.1 en Windows 10, así que necesitaba una ligera modificación en la respuesta de Nevik (tilde en lugar de intercalación):

git diff COMMIT~ COMMIT

Otra opción es citar el caret:

git diff "COMMIT^" COMMIT


Lo siguiente parece hacer el trabajo; Lo uso para mostrar lo que ha traído una fusión.

git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>


Me gusta el siguiente comando para comparar una confirmación específica y su última confirmación:

git diff <commit-hash>^-

Ejemplo:

git diff cd1b3f485^-


Otra posibilidad:

git log -p COMMIT -1


Para ver autor y tiempo por commit usa git show COMMIT . Lo que resultará en algo como esto:

commit 13414df70354678b1b9304ebe4b6d204810f867e Merge: a2a2894 3a1ba8f Author: You <[email protected]> Date: Fri Jul 24 17:46:42 2015 -0700 Merge remote-tracking branch ''origin/your-feature''

Si desea ver qué archivos se han cambiado, ejecute lo siguiente con los valores de la línea de fusión arriba de git diff --stat a2a2894 3a1ba8f .

Si desea ver la diferencia real, ejecute git --stat a2a2894 3a1ba8f


Para ver la diferencia de un hash COMMIT particular:

git diff COMMIT~ COMMIT le mostrará la diferencia entre el antepasado de COMMIT y COMMIT . Consulte las páginas de manual de git diff para obtener detalles sobre el comando y gitrevisions sobre la notación ~ y sus amigos.

Alternativamente, git show COMMIT hará algo muy similar. (Los datos de la confirmación, incluida la diferencia, pero no para las combinaciones de combinación). Consulte la página de manual de git show .


Primero obtenga el ID de confirmación usando,

git log #to list all

O

git log -p -1 #last one commit id

Copiar ID de confirmación.

Ahora usamos dos métodos para enumerar los cambios de un compromiso específico,

Método 1:

git diff commit_id^! #commit id something like this 1c6a6000asad012

Método 2:

git show commit_id For example: git show 1c6a600a


Puede 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 opción --stat .


También puedes probar esta manera fácil:

git show <COMMIT>


git show muestra los cambios realizados en la confirmación más reciente.

Equivalente a git show HEAD .

git show HEAD~1 te devuelve 1 commit.


git difftool COMMIT^ <commit hash>

También es posible si ha configurado su diftool.

Vea aquí cómo configurar difftool o la página de manual here

Además, puede usar git diff-tree --no-commit-id --name-only -r <commit hash> para ver qué archivos han sido cambiados / confirmados en un hash de confirmación.


git show <commit_sha>

Esto le mostrará lo que hay en ese compromiso. Creo que se puede hacer un rango simplemente colocando un espacio entre dos shas de confirmación.

git show <beginning_sha> <ending_sha>

lo que es bastante útil si se está cambiando de base a menudo porque todos los registros de características estarán en una fila.