我有两个分支,该项目在两个分支中都在工作。
我将分支 A 合并到分支 B ( git checkout BranchB; git merge BranchA
),解决冲突,并测试分支 B 以发现它不再有效。
我很确定问题是由分支 A 的一两个提交引起的,git 优先于分支 B。因此,我正在寻找一种不会发生“自动合并”的合并方法,这样我就可以很好地控制冲突的解决方式。这可能吗?
我不确定是否要一起跳过合并,但您可以使用
git 合并 --no-commit
这将允许您执行合并,然后在提交之前检查合并的文件。
这似乎需要git-imerge。我承认我从未使用过,但它可以让您对“中间”合并或“rebase-with-history”样式合并中的单个提交进行测试。
我认为最好的解决方案是将分支 A 重新设置在分支 B 上,而不是合并。在这种情况下,您遇到冲突的每个提交都需要您的手动干预,您可以按照预期的方式有效地解决它。
在分支 B 上分支 A 的变基后,分支 A 到分支 B 的合并将导致简单的快进
所以:
git checkout branchA
git rebase branchB
解决提交时的冲突
git add file_with_conflicts
git rebase --continue