Beware of the @{<date>}
, based on the reflog (meaning, limited by default to 90 days).
See "Specifying Revisions" in git rev-parse
.
"git checkout by date" suggests another method:
git checkout `git rev-list -n 1 --before="2013-09-25 5:00" master`
Note this warning though:
rev-list
won't work if you have any branches merged.
For example: I wanted to go back onV5
branch but ended up inV4.2
branch.
A more robust way would to add --first-parent
:
git checkout `git rev-list -n 1 --first-parent --before="2013-09-25 5:00" master`