Before i go any further, let me explain why we can't do a:
git checkout -b <branch> <sha>
You can use the GitHub Events API to see the last 300 events (paginated in 30 events per page) occured during the last 90 days for a user or for a repo. There you can search for the last push event on that branch and thus get the SHA-1 that you need to reinstantiate as branch.
E. g. here you can see my recent events: https://api.github.com/users/Vampire/events, https://api.github.com/users/Vampire/events?page=2, a. s. o.
or here the events for the repository
vivin/gradle-semantic-build-versioning: https://api.github.com/repos/vivin/gradle-semantic-build-versioning/events, https://api.github.com/repos/vivin/gradle-semantic-build-versioning/events?page=2, a. s. o.