git:将合并拆分为几个提交



我制作了一个git merge --squash other_branch(我使用了南瓜,就像我使用git处理svn repo一样)。

现在我有了(合理的)冲突的语气,我需要非常仔细地经历它。

我正试图想出一些聪明的方法来处理这一切,也许可以和其他人分享一些工作。

我想到的是将这次合并分成几个提交。我想在它们看起来正常、有意义且可编译时立即提交一些原子更改。

然而,我不太确定如何才能做到这一点。我必须暂存准备好的文件,然后是git stash所有其他文件,看看是否正在编译暂存的文件,再是git commit,最后是git stash pop,以继续处理其余文件。

但是Git不允许我隐藏未合并的路径。

我在谷歌上找不到任何现成的收据。看起来每个人都同时做git merge

有人有什么想法或者已经合并了吗?

假设您正在合并到一个分支target

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

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

并以较小的块签出下一次合并提交所需的文件:

$ git checkout target
$ git checkout tmp -- conflicting_file

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

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

然后再次从tmp中检出下一个冲突文件,继续操作,直到所有冲突都得到解决。

最新更新