# First, you must get the previous commit sha, the one before the forced push: ## Hit through terminal curl -u <username> https://api.github.com/repos/:owner/:repo/events # Then you can create a branch from this sha: ## Hit through terminal curl -u <github-username> -X POST -d '{"ref":"refs/heads/<new-branch-name>", "sha":"<sha-from-step-1>"}' https://api.github.com/repos/:owner/:repo/git/refs #Finally, you can clone the repository locally, and force push again to master: git clone repo@github git checkout master git reset --hard origin/<new-branch-name> git push -f origin master Credit: Sankara Rameswaran