3

我有两个分支,该项目在两个分支中都在工作。

我将分支 A 合并到分支 B ( git checkout BranchB; git merge BranchA),解决冲突,并测试分支 B 以发现它不再有效。

我很确定问题是由分支 A 的一两个提交引起的,git 优先于分支 B。因此,我正在寻找一种不会发生“自动合并”的合并方法,这样我就可以很好地控制冲突的解决方式。这可能吗?

4

3 回答 3

2

我不确定是否要一起跳过合并,但您可以使用

git 合并 --no-commit

这将允许您执行合并,然后在提交之前检查合并的文件。

于 2013-11-12T19:20:45.543 回答
0

这似乎需要git-imerge。我承认我从未使用过,但它可以让您对“中间”合并或“rebase-with-history”样式合并中的单个提交进行测试。

于 2013-11-13T02:07:03.687 回答
0

我认为最好的解决方案是将分支 A 重新设置在分支 B 上,而不是合并。在这种情况下,您遇到冲突的每个提交都需要您的手动干预,您可以按照预期的方式有效地解决它。

在分支 B 上分支 A 的变基后,分支 A 到分支 B 的合并将导致简单的快进

所以:

git checkout branchA
git rebase branchB

解决提交时的冲突

git add file_with_conflicts
git rebase --continue
于 2013-11-12T22:30:40.860 回答