lo siento si existe esta pregunta, sorprendentemente no pude encontrarla: /
¿Cómo puedo realizar una git diffentre 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 gitofrece ... ¡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 diffdiferencia, 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 fileBno esgit diff fileA fileBSi desea utilizar
git diffen dos archivos arbitrarios, puede utilizargit diff --no-index <file_a> <file_b>. No es necesario realizar un seguimiento de los dos archivosgitpara que esto funcione.fuente
--word-diffdestaca los cambios por palabra, no solo por líneadifftiene--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
diffcomo 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_backupfunciona después de unogit addde ambos directorios.Para hacer que gnu diff se parezca más a git diff, recomendaría estos parámetros:
(donde
-bignorar espacios,-udiff unificado,-rrecursivo,-Ntratar 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
colordiffy ú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