我制作了一个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
中检出下一个冲突文件,继续操作,直到所有冲突都得到解决。