GitHub - Repository state at specified time
Use the rev-list
command to search for commits it revers chronological order
git rev-list <branch-name> --max-count=1 --before=<timestamp>
For a concrete example. The commit before Jan 10 2014 on my master branch
git rev-list master --max-count=1 --before=2014-10-01
Click "Commits" and look for a commit that was on that date. Now clone the repository to your computer and check out that commit.
As of May 2019 (not sure when this was introduced), you can simply add the date in the following format - HEAD@{2019-04-29}
- in the place of the URL where the commit would usually belong.
Example: Here is a link to the react repo on a recent commit https://github.com/facebook/react/tree/95e06ac3d091b6746be80d13840884dc7894b01c
Replacing the commit hash with the date formatted as above https://github.com/facebook/react/tree/HEAD@{2019-04-29} will bring you to the React repo as it looked on April 29.
You can also compare commits based on time - see more info from Github's help docs here: https://help.github.com/en/articles/comparing-commits-across-time#comparisons-across-time
UPDATE NOV. 2021: As mentioned in the comments below, this seems to now have a limit on the amount of days you can go back to (roughly 134 days in my experience).
The referenced Github help article also seems to have removed any mention of comparisons across time.