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.