lo siento si existe esta pregunta, sorprendentemente no pude encontrarla: /
¿Cómo puedo realizar una git diff
entre dos archivos dentro de la misma rama y la misma confirmación?
es decir git diff fileA.php fileB.php
(idealmente con la codificación de colores fácil de leer que git
ofrece ... ¡o similar a lo que hace el programa BeyondCompare!)
Respuestas:
No necesitas git para eso, solo usa
diff fileA.php fileB.php
(o vimdiff si quieres una comparación lado a lado)fuente
vimdiff
¡por la victoria! ¡Gracias!git diff
diferencia, sino simplemente una fácil de leer. Además, el hecho de que aceptó mi respuesta como lo que estaba buscando también indica que, de hecho, la responde.diff fileA fileB
no esgit diff fileA fileB
Si desea utilizar
git diff
en dos archivos arbitrarios, puede utilizargit diff --no-index <file_a> <file_b>
. No es necesario realizar un seguimiento de los dos archivosgit
para que esto funcione.fuente
--word-diff
destaca los cambios por palabra, no solo por líneadiff
tiene--color
, lo que podría ayudar (consulte unix.stackexchange.com/a/338960 ). Pero incluso entonces, si se usadiff-so-fancy
, parece requerir el formato de salida específico degit diff
.diff -u
(consulte stackoverflow.com/a/4857407/10095231 ) no funciona.Si los archivos que desea comparar están en su copia de trabajo, puede usarlos simplemente
diff
como señalan los demás, sin embargo, si los archivos están en alguna revisión, puede especificar una revisión para cada archivo.como se indica aquí: https://stackoverflow.com/a/3343506/1815446
En su caso (especificando la misma revisión para ambos archivos):
fuente
HEAD~2
, un SHA-1, un nombre de rama, etc.git diff --name-only HEAD:dir1 HEAD:dir1_backup
funciona después de unogit add
de ambos directorios.Para hacer que gnu diff se parezca más a git diff, recomendaría estos parámetros:
(donde
-b
ignorar espacios,-u
diff unificado,-r
recursivo,-N
tratar los archivos faltantes como/dev/null
).Funciona muy bien, pero aún no tiene colores y la paginación automática de estilo git está prácticamente ausente. Si desea arreglar ambos (yo lo hago), instálelo
colordiff
y úselo así:Esto proporciona una salida y una interfaz muy parecidas a las reales
git diff
.fuente
Si desea diferenciar dos archivos locales en el mismo directorio, simplemente use diff.
fuente
Solo usa diff regular.
fuente