Undoing a git pull --rebase

2020-05-12 11:58发布

Hey I'm new to git and I need to undo a pull, can anyone help?!? So what I've done is...

  1. git commit
  2. git stash
  3. git pull --rebase
  4. git stash pop

this created a bunch of conflicts and went a bit wrong. Now doing 'git stash list' reveals that my stash is still there. Is it possible to revert my repo back to the point just after doing git commit. So effectively my repo only contains only changes I have made and nothing new from the server?

4条回答
Animai°情兽
2楼-- · 2020-05-12 12:28

using git reflog you will see a list of commits HEAD pointed to in the past

using

git checkout -b after-commit HEAD@{1} # or the commit you want to recover

you create a new branch at that precise position and check it out

查看更多
仙女界的扛把子
3楼-- · 2020-05-12 12:36

Use git log -g and find the commit index you want to go back to, the just do git checkout index

查看更多
冷血范
4楼-- · 2020-05-12 12:44

Actually, to make this easier Git keeps a reference named ORIG_HEAD that points where you were before the rebase. So, it's as easy as:

git reset --hard ORIG_HEAD
查看更多
Root(大扎)
5楼-- · 2020-05-12 12:46

You should checkout the command

git reset --merge

That eliminates the need for a git commit; git stash before a pull (Don't know about rebase though)

The command returns a workspace with uncommitted changes to the state before a conflicting pull.

查看更多
登录 后发表回答