【问题标题】:Can we merge 2 brances of different projects in GIT我们可以在 GIT 中合并不同项目的 2 个分支吗
【发布时间】:2018-03-17 10:23:51
【问题描述】:

我试图理解不相关历史的合并。 Git 'merge' 命令有一个选项“--allow-unmatched histories”来合并不相关的历史。我在这里缺少一些清晰度。 GIT 中的根文件夹称为“项目”。项目包含许多存储库。每个 repo 可能有多个分支。

考虑到这一切。我有两个“项目”(a,b)。在项目“a”中,我有一个名为“arepo”的仓库。 'arepo' 有一个分支'abranch'。同样,有项目“b”。项目“b”有一个名为“brepo”的仓库。 “brepo”有一个名为“bbranch”的分支。

下图描述了这种情况:-

在这种情况下,我们可以使用 GIT Merge 的“allow-unrelated-histories”选项合并“abranch”和“bbranch”吗?

提前致谢。

【问题讨论】:

标签: version-control git-merge


【解决方案1】:

来自here 它说:

--allow-unrelated-histories 默认情况下,git merge 命令拒绝合并不共享共同祖先的历史。这个选项可以 用于在合并两个项目的历史时覆盖此安全性 他们独立地开始了他们的生活。因为那是非常罕见的 有时,默认情况下不存在启用此功能的配置变量 并且不会被添加。

因此,使用--allow-unrelated-histories 选项似乎可以合并不相关的历史记录。

【讨论】:

  • 非常感谢您的回复。我确实了解可能性。我的模棱两可是关于“不相关的历史”。我提供的图表是否是无关历史的准确示例?我想了解什么是所谓的“无关历史”?
  • 不相关的历史只是意味着分支没有像您的图表中那样的共同祖先。所以我会说你的图表是准确的。如果项目 a 和 b 是不同的存储库,那么就 git 而言,即使 b 可能只是 a 的 b 副本,它们也没有共同的祖先。
  • Here 是另一个可能有帮助的链接。
  • 相比之下,相关历史的一个例子是同一个项目中的两个分支,它们在某个时间点源自同一个根提交。由于它们有很多相似之处,因此默认情况下可以合并。
猜你喜欢
  • 1970-01-01
  • 2017-09-17
  • 2011-03-25
  • 2015-07-19
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多