0

I pushed my latest feature but I found there's a critical bug. I want to rollback. So I do git checkout 12345 I got detached HEAD, I don't know how to proceed. Is checkout previous commit even a proper way to revert a feature?

Hoknimo
  • 533
  • 2
  • 6
  • 15
  • https://www.git-tower.com/learn/git/faq/detached-head-when-checkout-commit. Checking out does not revert anything, but you can continue committing from it to act as if the feature never happened. – evolutionxbox Nov 11 '18 at 02:15
  • Possible duplicate of [Delete commits from a branch in Git](https://stackoverflow.com/questions/1338728/delete-commits-from-a-branch-in-git) – phd Nov 11 '18 at 10:02
  • https://stackoverflow.com/search?q=%5Bgit%5D+undo+pushed+commits – phd Nov 11 '18 at 10:02

1 Answers1

0

Since you've already pushed your changes, your best course of action would be to create a new commit that undoes the unwanted commit. You can do this by using the git-revert command:

git revert <hash of unwanted commit>

Then, push this new commit.


Regarding your detached HEAD state, the HEAD reference is unique to your local repository. By checking out the last good commit, you've rolled back your local repository, however the the server and any other users would not see this. You can move the branch back to a good commit by using git reset --hard <hash of last good commit>, however this rewrites history. If you were to push this (using a force push), the server would probably complain and other users of the repository would encounter conflicts because their local history no longer matches what's on the server.

Seth
  • 338
  • 1
  • 9