As mentioned in "How to checkout in Git by date?"; git reflog
is not reliable
git rev-list has access to all your history:
git checkout $(git rev-list -1 --first-parent --before="2019-09-17 00:00" master)
To do so in Source Tree, for instance, you can use a custom action:
- For Windows, the Custom Actions configuration is located in
Tools > Options > Custom Actions
;
- For Mac, the Custom Actions configuration is located in
Preferences > Custom Actions
.

To run the custom actions, simply open up Actions > Custom Actions > Select
your custom actions:
