我做了一个 git pull ,发现我的一个文件需要合并。
我现在真的不想合并那个文件——我还有另一个分支需要处理,稍后我会回到这个分支来解决合并问题。
对我来说“撤消”这种拉动的最佳行动方案是什么?或者在我准备好处理它之前,我如何才能推迟这个合并?我需要做什么才能更改分支,然后在我的代码中返回到这个未合并状态?
我做了一个 git pull ,发现我的一个文件需要合并。
我现在真的不想合并那个文件——我还有另一个分支需要处理,稍后我会回到这个分支来解决合并问题。
对我来说“撤消”这种拉动的最佳行动方案是什么?或者在我准备好处理它之前,我如何才能推迟这个合并?我需要做什么才能更改分支,然后在我的代码中返回到这个未合并状态?
这是一个很好的例子,说明了为什么我认为进行 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
如果您希望消除当前 HEAD 上的更改,那git reset --hard
是您的门票。这应该允许您交换分支并返回到该分支并在以后重做此合并。
如果你正在变基,git rebase --abort
也会取消操作。
git stash
在我执行导致合并冲突的操作后抱怨未合并的更改git stash pop
,但我已经手动解决了它们。
做git add .
,然后git stash
工作得很好。