【发布时间】:2015-08-17 20:15:35
【问题描述】:
我的存储库已将精选记录记录为合并。它抛出了 git 对合并基础的选择。是否可以指定合并基础?如果有,怎么做?
示例:f 是从 A 的 master 分支出来的。C 被精心挑选到 f,但被误导为与 K 和 C 作为父级的合并。
A-B-C master
\ \
K---C'-L f
当将 f 合并到 master git 时,会发现 C 是最好的共同祖先并将其用作 Base。由于 B 包含在 Base 中,但在 f 处丢失,它将被合并撤消。使用 A 作为基础将给出正确的合并。
编辑:This answer 排除了下面询问的计划 B。所以,希望有人能回答:如何在 git merge 中指定合并基础?
编辑,B 计划:通过使用 tfs-git 从两个具有cherry-pick-workflow 的 tfs-branches 获取,存储库已经变成了这样。一个变更集的“合并选定范围”在 git 中显示为完全合并。另一种解决方案是以某种方式将 git-tfs 配置为不创建合并提交。 (停止为所有人挑选樱桃是不可能的。)
【问题讨论】:
-
嗨@Grastveit,我不确定我是否理解您的问题,如果您选择
C但不是B不是有意的,那么B是从进一步的工作?如果不应该也选择B,或者在您的示例中只是继续C? -
@florianb:团队中的其他人已经完成了“合并选定范围”并且仅将 C 合并到分支 f 并签入。我已经使用 git-tfs 获取,他们的签入显示为合并在我的 git 存储库中。在 git 中,合并意味着合并所有更改,因此在 C' 中假定包含来自 B 和 C 的更改。更清晰?