Rolling back a remote Git repository
You can use git revert <commit>…
for all the n commits, and then push as usual, keeping history unchanged.
Or you can "roll back" with git reset --hard HEAD~n
. If you are pushing in a public or shared repository, you may diverge and break others work based on your original branch. Git will prevent you doing so, but you can use git push -f
to force the update.
elmarco is correct... his suggestion is the best for shared/public repositories (or, at least public branches). If it wasn't shared (or you're willing to disrupt others) you can also push a particular ref:
git push origin old_master:master
Or, if there's a particular commit SHA1 (say 1e4f99e in abbreviated form) you'd like to move back to:
git push origin 1e4f99e:master