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

kar*_*los 14 git github

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

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

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

cre*_*eyD 5

由于您不想将您的提交“压缩”到一个文件中,您可以做的是:

  • 分叉“原始”存储库
  • 您的“复制和粘贴”存储库创建一个拉取请求分支

或者你可以看看如何像这篇文章一样合并两个存储库。就像他们在那里所做的那样,您可以将您的“c&p repo”作为子树添加到叉子中,就像在这里详细解释的那样。

这是指南中采取的步骤:

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
Run Code Online (Sandbox Code Playgroud)

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

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


xor*_*xor 4

你应该尝试一些类似的事情:

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