How to go back to previous version in git
I have a checkout copy of a remote git repository in my workstation. I have accidentally committed a change in my local and pushed to remote. Now I want to remove th开发者_开发知识库e last commit and go back to the previous commit and the same should be pushed to remote.
I am okay if it is a new commit with a commit message. How to do that?
I'd advise against pushing with --force an alternative history. Anyone who already pulled your changes will have a completely screwed history to deal with when pulling new stuff.
A far safer option is to simply do
git revert HEAD~1
git push origin master
git revert will record a new commit that cancels all of the effects of the previous one
If nobody has yet cloned your updated remote repo, you can:
git reset --hard HEAD~
git push --force
That will force the local and remote history to discard the latest commit.
(Check first with a git fetch that no new commits had been pushed since your incorrect commit)
If a new history isn't an option, then a git revert
is more secure, and will result in a new commit canceling the previous one: you can then push that new commit.
精彩评论