如何撤销git pull并保留未提交的更改

4

我认为这是一个开发者可能做的最蠢的事情,但我不小心做了。 我对本地主分支进行了更改,但没有提交。然后我突然执行了git pull,然后本地主分支以我的更改和远程存储库的更改进行了更新。现在,如果有冲突,我可以通过解决冲突来合并更改。但我想撤消此拉取操作,并保留我所做的未提交的更改。是否有可能?如果我错了,请纠正我。请帮帮我。


我不确定你在问什么。git pull已经完成,现在你既有新的代码又有未提交的更改,你想回到只有未提交的更改吗? - chevybow
@chevybow,是的兄弟。 - Anil
阅读此链接:https://dev59.com/ulsW5IYBdhLWcg3w2qNM#34519716 - CodeWizard
https://happygitwithr.com/pull-tricky.html,这部分Git文档涵盖了几种常见情况,其中28.1.3 git stash with conflicts则恰好解决了你的问题。基本上,你可以按照步骤解决冲突,或者使用git reset来撤销pull操作,而不会丢失本地更改。 - BJYC
1个回答

2

将您的更改存储,使用reset --hard撤回本地分支,然后进行unstash操作。

git stash save "saving my uncommitted changes so I don't lose them when I reset"
git reset --hard revision-where-branch-was-before-pulling # check git log or git reflog to see the ID you want
git stash pop # get my changes back on my working tree

应该可以了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接