11

我做了一个 git pull ,发现我的一个文件需要合并。

我现在真的不想合并那个文件——我还有另一个分支需要处理,稍后我会回到这个分支来解决合并问题。

对我来说“撤消”这种拉动的最佳行动方案是什么?或者在我准备好处理它之前,我如何才能推迟这个合并?我需要做什么才能更改分支,然后在我的代码中返回到这个未合并状态?

4

3 回答 3

15

这是一个很好的例子,说明了为什么我认为进行 fetch 而不是 pull 是个好主意。

您可以做的只是将您的分支重置为之前的状态..

git reset --hard HEAD~1

或者如果您已经处于合并的中间(解决冲突),只需中止它..

git merge --abort

完成您的更改,然后...

git fetch
...have a look at what's changed 
git merge origin/branch 

查看发生了什么变化的一种简单方法是

git cherry branch origin/branch -v --abbrev=6

这将为您提供原始分支中但不在您的分支中的提交列表......如果您需要该提交中更改内容的详细信息,那么

git show commit --name-status
于 2012-05-02T20:58:50.013 回答
2

如果您希望消除当前 HEAD 上的更改,那git reset --hard是您的门票。这应该允许您交换分支并返回到该分支并在以后重做此合并。

如果你正在变基,git rebase --abort也会取消操作。

于 2012-05-02T20:58:02.993 回答
0

git stash在我执行导致合并冲突的操作后抱怨未合并的更改git stash pop,但我已经手动解决了它们。

git add .,然后git stash工作得很好。

于 2018-03-19T13:25:29.827 回答