如何撤消git pull?

我想撤消我的git pull,因为远程原点上的不需要的提交,但是我不知道我必须重新设置哪个修订。

我怎么才能回到这个状态,然后再把git拉到远程原点上呢?


或者比其他答案更明确:

git pull 

哎呦?

git reset --keep HEAD@{1}

旧版1.7.1以上版本的git没有--keep 。 如果你使用这样的版本,你可以使用--hard - 但这是一个危险的操作,因为它会失去任何本地更改。


给评论者

ORIG_HEAD是HEAD的先前状态,由具有可能危险行为的命令设置,以便于恢复它们。 Git有reflog的用处不大:HEAD @ {1}大致等于ORIG_HEAD(HEAD @ {1}总是HEAD的最后一个值,ORIG_HEAD是危险操作之前HEAD的最后一个值)


git reflog show应该会显示HEAD的历史记录。 你可以使用它来确定你pull之前的位置。 然后,您可以reset HEAD reset为该提交。


这对我有效。

git reset --hard ORIG_HEAD 

撤消合并或拉:

$ git pull                         (1)
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed; fix conflicts and then commit the result.
$ git reset --hard                 (2)
$ git pull . topic/branch          (3)
Updating from 41223... to 13134...
Fast-forward
$ git reset --hard ORIG_HEAD       (4)

结帐:Git中的HEAD和ORIG_HEAD获取更多信息。

链接地址: http://www.djcxy.com/p/36239.html

上一篇: How to undo a git pull?

下一篇: How can I split up a Git commit buried in history?