Esto existe, pero en realidad es una característica de git log
:
git log -p [--follow] [-1] <path>
Tenga en cuenta que -p
también se puede usar para mostrar la diferencia en línea de una sola confirmación:
git log -p -1 <commit>
Opciones utilizadas:
-p
(también -u
o --patch
) está oculto deeeeeeeep en la git-log
página de manual, y en realidad es una opción de visualización para git-diff
. Cuando se usa con log
, muestra el parche que se generaría para cada confirmación , junto con la información de confirmación, y oculta las confirmaciones que no tocan la especificada <path>
. (Este comportamiento se describe en el párrafo siguiente --full-diff
, lo que hace que se muestre la diferencia completa de cada confirmación).
-1
muestra solo el cambio más reciente al archivo especificado ( -n 1
se puede usar en lugar de -1
); de lo contrario, se muestran todas las diferencias distintas de cero de ese archivo.
--follow
es necesario para ver los cambios que ocurrieron antes de un cambio de nombre.
Por lo que puedo decir, esta es la única forma de ver de inmediato el último conjunto de cambios realizados en un archivo sin usar git log
(o similar) para contar el número de revisiones intermedias o determinar el hash de la confirmación.
Para ver los cambios de revisiones anteriores, simplemente desplácese por el registro o especifique una confirmación o etiqueta desde la cual iniciar el registro. (Por supuesto, especificar una confirmación o etiqueta lo devuelve al problema original de descubrir cuál es la confirmación o etiqueta correcta).
Crédito a quien crédito merece:
- Descubrí
log -p
gracias a esta respuesta .
- Gracias a Francisco Puga y esta respuesta por mostrarme la
--follow
opción.
- Gracias a ChrisBetti por mencionar la
-n 1
opción y atatko por mencionar la -1
variante.
- Gracias a sweaver2112 por haberme hecho leer la documentación y descubrir qué
-p
significa "semánticamente".
git diff HEAD^ <file_path>