有没有一种自动合并(interdiff)两个主分支和一个基础分支之间冲突的方法?我试图在补丁级别上实现它。
我尝试了各种工具,如 interdiff 和 combinediff,手动创建组合补丁,但都没有成功(我在 Windows 上,interdiff 兼容 cygwin,但我不知道 UNC 是否是一个问题,到目前为止我认为不是),指定输出格式为统一格式或上下文格式,由于 interdiff/combinediff 的要求。
那么...有没有办法让 Version A 成为我的基础,而 Version A:B && A:C 的组合变化成为我的 head? 然后进行某种形式的三向 pull request?
如果出现任何冲突,我希望 Git 能够智能地解决它们,通过进行其臭名昭著的 >>>>> 和 ===== 和 <<<<<<<< 合并冲突,这在这一点上完全可以接受。
最终,我想找到一种方法,在补丁级别上通过组合补丁来实现这一点。我看到 Git(hub) 有一些选项用于处理三向补丁和使用 git apply、git patch 和 git format-patch 发送补丁的电子邮件。
这也有所帮助: Git pull gives conflicts with octopus strategy 尽管我没有从远程拉取,但在本地工作时,pull 是合并(命令基本相同)。
- VersionA 是我的基础
- VersionB 从 VersionA 分支出来
- VersionB 应用了另一个模块,Base+ModB
- VersionC 从 VersionA 分支出来
- VersionC 应用了另一个模块,Base+ModC
我尝试了各种工具,如 interdiff 和 combinediff,手动创建组合补丁,但都没有成功(我在 Windows 上,interdiff 兼容 cygwin,但我不知道 UNC 是否是一个问题,到目前为止我认为不是),指定输出格式为统一格式或上下文格式,由于 interdiff/combinediff 的要求。
那么...有没有办法让 Version A 成为我的基础,而 Version A:B && A:C 的组合变化成为我的 head? 然后进行某种形式的三向 pull request?
如果出现任何冲突,我希望 Git 能够智能地解决它们,通过进行其臭名昭著的 >>>>> 和 ===== 和 <<<<<<<< 合并冲突,这在这一点上完全可以接受。
最终,我想找到一种方法,在补丁级别上通过组合补丁来实现这一点。我看到 Git(hub) 有一些选项用于处理三向补丁和使用 git apply、git patch 和 git format-patch 发送补丁的电子邮件。
这也有所帮助: Git pull gives conflicts with octopus strategy 尽管我没有从远程拉取,但在本地工作时,pull 是合并(命令基本相同)。