Después de leer el enlace de precompilation de Git: files modificados / agregados , surgió la siguiente pregunta:
Dado que tengo un file con cambios escalonados y sin instancia, ¿cómo puedo mostrar una vista previa de los contenidos del file después de la puesta en escena?
Ejemplo:
echo "foo" >> file git add file echo "bar" >> file
Resultado deseado:
[previous contents of file] foo
Use el prefijo :
para acceder a los objects en el índice actual (en etapas pero aún no comprometidos).
git show :file
Ver gitrevisions (énfasis mío):
<rev>:<path>, eg HEAD:README, :README, master:./README
Un sufijo
:
seguido de una ruta de nombres del blob o tree en la ruta dada en el object tree-ish nombrado por la parte antes de los dos puntos.:path
(con una parte vacía antes de los dos puntos) es un caso especial de la syntax que se describe a continuación: contenido registrado en el índice en la ruta determinada .
Actualización: la respuesta de grawity tiene una solución mucho más orderada
Esta receta es de la respuesta de jleedev a otra pregunta :
git cat-file blob $(git ls-files -s file | awk '{print $2}')
Es posible que desee crear un alias de git para eso si va a usarlo a menudo.
Puedes hacer git diff -cached, pero esto no es exactamente lo que quieres.
git grep -h --cached ^ -- file
funciona para mi.
Simplemente eche un vistazo a la respuesta principal para esta pregunta: ¿Cómo muestro los cambios que se han realizado?
La opción --cached
es lo que quieres.