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.
![https://confluence.atlassian.com/sourcetreekb/files/785323500/785323477/1/1444967006147/CustomAction1.png]()
To run the custom actions, simply open up Actions > Custom Actions > Select your custom actions:
![https://confluence.atlassian.com/sourcetreekb/files/785323500/785323480/1/1444967006069/CustomAction4.png]()