Respuestas:
Especifique las rutas explícitamente:
git diff HEAD:full/path/to/foo full/path/to/bar
Consulte la --find-renames
opció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 b
solo coincide con patrones de confirmación, no archivos.
--no-index
opció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-index
es 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-index
opció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).