GIT – mostrar como estava o arquivo em uma determinada revisão

git show As vezes precisamos saber como estava um arquivo em uma determinada revisão, no commit anterior por exemplo, para isso podemos utilizar o comando abaixo:

Onde <commit> pode ser o sha1, assim:

Mas na maioria das vezes queremos ver o arquivo em uma ou duas versões anteriores, para isso podemos fazer assim, que é bem mais fácil:

Onde HEAD é a sua revisão atual e o que vem depois do til ( ~ ) é o numero de revisões para trás. No exemplo acima estamos vendo o arquivo como ele era em duas revisões atrás.

Poderiamos utilizar o HEAD^1 que também funcionaria, mas muito provavelmente HEAD^2 não, isso porque o circunflexo não serve para voltar revisões mas sim para escolher de qual parent queremos pegar uma revisão, lembrando que um commit pode ter dois pais, como em um merge por exemplo.Para saber mais sobre o til ( ~ ) e o circunflexo ( ^ ), acesse o site abaixo que possui uma explicação bem completa:
http://www.paulboxley.com/blog/2011/06/git-caret-and-tilde

Curiosidade:
Coloque HEAD~~ no lugar de HEAD~2 e veja que também funciona, ou até HEAD~~~ no lugar de HEAD~3 e assim por diante.