如何在git中存储未合并的代码?

时间:2012-05-02 20:52:04

标签: git git-merge merge-conflict-resolution

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

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

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

3 个答案:

答案 0 :(得分:12)

这是一个很好的例子,为什么我认为取一个取而不是拉取是一个好主意。

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

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

答案 1 :(得分:2)

如果您想要删除当前HEAD的更改,git reset --hard就是您的票。 这应该允许您交换分支并返回到此分支并在以后重做此合并。

如果您正在变基础,git rebase --abort也将取消该操作。

答案 2 :(得分:0)

在我执行导致合并冲突的git stash之后,

git stash pop抱怨未合并的更改,但我已经手动解决了这些问题。

执行git add .然后git stash效果很好。