git:将merge合并为几个提交

时间:2015-03-18 08:38:38

标签: git version-control merge git-merge

我已经制作了git merge --squash other_branch(因为我使用git来处理svn回购,我使用过壁球。)

现在我已经发现了(合理的)冲突,我需要非常小心地通过它。

我试图想出一些聪明的方法来处理所有这些混乱,也许与其他人分享一些工作。

我想到的是将这个合并分成几个提交。 我想在它们看起来没问题时立即进行一些原子更改,它们是有意义的并且是可编译的。

但是我不太确定如何实现这一目标。 我必须暂存准备好的文件,然后git stash所有其他文件,以查看已暂存的文件是否正在编译,然后git commit,最后git stash pop继续处理其余文件。

然而,Git不允许我存储未合并的路径。

我在谷歌上找不到任何准备好的收据。看起来eveyone会立刻git merge

任何人都有想法或做过这样的合并吗?

1 个答案:

答案 0 :(得分:1)

假设您要合并到分支target

您可以在临时分支中提交合并的结果,包括其冲突:

A---B - target
    \---C - tmp

并在较小的块中签出要处理下一次合并提交的文件:

$ git checkout target
$ git checkout tmp -- conflicting_file

然后处理conflicting_file中的冲突,并在target分支中解决冲突:

A---B---D - target
    \---C - tmp

然后再次查看tmp中的下一个冲突文件,继续,直到您解决了所有冲突。

相关问题