事实上,在github中将repo标记为fork

时间:2015-05-27 03:42:04

标签: git github

我们有一个项目,主要是通过复制/粘贴方法分解。但是回购之间仍然存在重大的重叠。

是否可以追溯性地将此fork标记为github的fork,以便比较和拉取请求等函数能做正确的事情?

注意:我已经尝试过" hack"下面,重新分叉,克隆叉子,复制"分叉"内容结束,然后git add / commit / push。但是,原始" fork"中的文件历史记录。失去了,分支不会过来。

2 个答案:

答案 0 :(得分:1)

由于您不想将提交内容“压缩”到一个文件中,因此您可以执行以下操作:

  • 分叉“原始”存储库
  • 从您的“复制并粘贴”仓库分叉
  • 中创建拉取请求

或者您可以看看如何合并两个存储库,例如this post中的存储库。就像他们在那里所做的那样,您可以将“ c&p repo”作为子树添加到fork中,就像在over here中进行了详细说明一样。

这是指南中采取的步骤:

git remote add -f c&prepo /path/to/c&prepo
git merge -s ours --no-commit c&prepo/master
git read-tree --prefix=vendor/c&prepo/ -u c&prepo/master
git commit

但是,即使使用这些方法,您也无法合并整个存储库,而只能合并特定的分支。您可以做的就是为每个分支创建一个拉取请求(在我的第一种方法中进行了描述),这可能会花费一些时间,具体取决于您的分支模型。

我认为实际上没有一种解决方案,您可以合并两个不同的存储库,同时保留其提交历史记录分支。祝您好运。

答案 1 :(得分:0)

你应该尝试一下这个:

  • 在github中创建原始项目的真正分支;
  • 将其设置为您的复制/粘贴分叉(git add remote ...
  • 的远程
  • 然后在此(git rebase
  • 之上重新开始工作