简体   繁体   中英

How to push "undo pushed commit" using command line?

EDIT: Ok so I work it out. The problem is how I stated the branch name. It's supposed to be git push -f origin card-editor instead of git push -f origin/card-editor . Thanks.


The majority of time I work with git, I use sourcetree. Except when "major disaster" things happened. This is one of the situation (for me). Long story short, I do a commit and push, but now I want to undo it on the local, as well as undo it on the remote.

I follow tutorial from here . I successfully reset --hard the head to the last good commit. Now it's just the matter of pushing it to the server.

The way the tutorial does it looks very simple.

git push -f branchname

My feature branch remote name is "card-editor". So I did it.

git push -f card-editor

But I got error that says "card-editor" does not appear to be a git repository.

I listed my list of branch with git branch -r .

origin/HEAD -> origin/master
origin/card-editor
origin/development
origin/staging
origin/production

Alright, so I think the branch name is origin/card-editor . So I retry it.

git push -f origin/card-editor

But it still showing "origin/card-editor" does not appear to be a git repository.

What's wrong with my approach? I don't think there's something special that needs to be done here? I'm not particularly versed with Git, especially with console command, as usually I use sourcetree to manage it.

If you have really already pushed the unwanted commit to the remote, then the safest approach here would be to revert the commit:

# assuming the unwanted commit is on the top of the branch
git revert HEAD
git push origin master

The command git revert adds a new commit which functionally undoes whatever change your commit introduced. This approach is safer than git reset because the latter rewrites history , and so is not suitable once the commit has already been pushed to the remote.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM