Ver un file eliminado en Git

He eliminado un file con Git y luego me he comprometido, por lo que el file ya no está en mi copy de trabajo. Quiero ver el contenido de ese file, pero no restaurarlo realmente. ¿Cómo puedo hacer esto?

git show HEAD^:path/to/file 

Puede usar un identificador de confirmación explícito o HEAD~n para ver versiones anteriores o si ha habido más de una confirmación desde que la eliminó.

Si este es un file que ha borrado hace un time y no desea search una revisión , puede usar (el file se llama foo en este ejemplo, puede usar una ruta completa):

 git show $(git rev-list --max-count=1 --all -- foo)^:foo 

La invocación de rev-list busca todas las revisiones de foo pero solo list una. Como rev-list lists rev-list en order cronológico inverso, entonces lo que enumera es la última revisión que cambió foo , que sería la confirmación que eliminó foo . (Esto se basa en la suposition de que git no permite que se modifique un file eliminado y, sin embargo, permanece eliminado). No puede usar la revisión que rev-list devuelve tal cual porque foo ya no existe. Tienes que pedir el que está justo antes de que contenga la última revisión del file, de ahí el git show ^ in git show .

Dado que es posible que no recuerde la ruta exacta, puede get el sha1 del logging de git y luego puede simplemente emitir

  git cat-file -p <sha1>