【问题标题】:Is it possible to merge and link two unlinked repos on Github?是否可以在 Github 上合并和链接两个未链接的存储库?
【发布时间】:2014-03-31 07:50:07
【问题描述】:

我在 Github 上有一个从 Google 代码导入的存储库(实际上,其他人导入了它,我分叉了它)。自 2011 年以来,原始项目一直在 Google Code 上处于休眠状态。代码大部分位于根目录的单个文件中。我的 fork 有 Google 代码历史记录。我们已经对代码进行了添加。

第三人也将原始来源导入到 Github,并进行了更改。有人分叉并添加了更多。

(还有其他类似的 Google Code->Github 克隆,因此对其中一些进行类似的操作可能会很有用。)

我想以某种方式统一这些,我想:

  • 将其他 repo 的更改合并到我的,并且
  • 保留他们的提交历史。

理想情况下,我还希望:

  • 以某种方式链接每个 repo,也许他们的网络图是链接的(在 Github 上),并且
  • 允许在分叉之间轻松创建未来的 PR。

所以:

  1. 最好的方法是什么?
  2. 第二部分甚至可能吗?
  3. 如果不是,最好的解决方法是什么?

【问题讨论】:

  • 谷歌代码仓库是否已经在 Git 中了?还是这些 repos 是从其他一些 VCS 转换而来的?
  • Google 代码仓库的 Mercurial。
  • 你能链接到有问题的回购吗?
  • @NevikRehnel:是的,mineone of the others

标签: git github merge repository


【解决方案1】:

关于 mercurial repo,您​​可以从 converting it to Git (fast-export/hg-fast-export.sh) 开始。

关于链接两个不同历史的可能性(对于不相关的 repo 的两个分支),您可以使用 git grafts(graft point)来创建一个共同的历史。

参见例如“How to rebase one Git repository onto another one?”(.git/info/grafts + git filter-branch)。

【讨论】:

  • Mercurial Google Code 存储库已被其他人转换并导入到 Git。这是我叉子的基础。 // 谢谢,我会尝试移植,听起来它可以做到 (1)。 // (2) 和 (3) 有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 2018-06-27
  • 1970-01-01
  • 2020-09-15
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 2015-06-14
  • 2013-10-13
相关资源
最近更新 更多