Respuestas:
Especifique las rutas explícitamente:
git diff HEAD:full/path/to/foo full/path/to/bar
Consulte la --find-renamesopción en los git-diff documentos. .
Crédito: twaggs .
git diff <path> <path>incluso si no están en un repositorio de git.
git diff --help, verá que los únicos patrones compatibles con dos archivos es git diff [<options>] --no-index [--] <path> <path>. git diff a bsolo coincide con patrones de confirmación, no archivos.
--no-indexopción cuando ejecuta el comando en un árbol de trabajo controlado por Git y al menos uno de los puntos de ruta fuera del árbol de trabajo, o cuando ejecuta el comando fuera de un árbol de trabajo controlado por Git .
Creo que usar --no-indexes lo que estás buscando:
git diff [<options>] --no-index [--] <path> <path>
como se menciona en el manual de git:
Este formulario es para comparar las dos rutas dadas en el sistema de archivos. Puede omitir la
--no-indexopción cuando ejecuta el comando en un árbol de trabajo controlado por Git y al menos uno de los puntos de ruta fuera del árbol de trabajo, o cuando ejecuta el comando fuera de un árbol de trabajo controlado por Git.
Si está usando tortoise git, puede hacer clic con el botón derecho en un archivo y obtener una diferencia: Haga clic con el botón derecho en el primer archivo y, a través del submenú de tortoisegit, seleccione "Diferenciar más tarde". Luego, en el segundo archivo, también puede hacer clic con el botón derecho en este. , vaya al submenú tortoisegit y luego seleccione "Diff with yourfilenamehere.txt"
Usando PhpStorm, simplemente copio el código de confirmación anterior y lo comparo con la versión actual usando la herramienta incorporada "comparar con el portapapeles".
git diff --no-index --word-diff old_file.txt new_file.txt(--word-diff resalta los cambios por palabra, no solo por línea, lo cual es muy útil para texto largo).