¿Puedo recuperar la versión del file de git para una date determinada?

Necesito recuperar la versión de algún file en mi repository de git, que fue la última confirmación antes de una date. Por ejemplo, mi date es 2013-03-08 y, por lo tanto, quiero que la versión del file se haya confirmado el 2013-03-07 o antes.

Puedo usar un command como git show HEAD~<REVISION-NUM>:foo/bar/myfile.c pero tengo que averiguar qué es <REVISION-NUM> para mi date. Además, si necesito recuperar varios files para la misma date, sus <REVISION-NUM> pueden ser diferentes.

Entonces, ¿hay un command que me permita especificar la date directamente?

Puedes hacerlo con rev-parse

git help rev-parse para detalles por ejemplo

 git checkout 'master@{2013-06-01}' git checkout 'master@{yesterday}' git checkout 'master@{5 days ago}' 

Esto te dará la confirmación más reciente antes de la date deseada:

 git log -n1 --before <date> 

A continuación, puede comprobar que commit (es decir, git checkout <sha1> ) y ver el estado de todos los files a partir de ese momento.