Unfork Github fork而不删除

Mic*_*mza 64 git github

我想"unfork"一个GitHub fork而不删除+重新创建它.这可能吗?

我的理由是我的项目现在对fork的源有一个完全不同的用途,并且没有意义显示前面的提交数量,或拉取请求按钮(或至少,如此突出).事后来看,我认为我只git clone需要原件,而不是做一个叉子.

我想不要删除我的分叉,以保持问题+拉取请求的历史记录.

我很高兴保留提交的历史,它只是删除了我所追求的fork状态.

tti*_*sdf 53

娜,娜.Github比你想象的要强大得多.

毫无疑问,除了制作所有代码的副本之外别无他法.但是,复制过程可以由Github本身完成.因此,用我们自己的带宽镜像代码并不痛苦.

一步步:

  • 点击右上角的"+",选择"导入存储库"
  • 粘贴旧的repo url(如https://github.com/user/repo)并输入新名称.
  • 点击"开始导入"

完成.当copy'n'paste完成时,Github甚至会给你一个电子邮件通知.

经过测试可以对付我自己的项目.好功能不是吗?

  • 这应该是公认的答案,完美而且几乎毫不费力. (3认同)
  • 这会带来问题吗? (3认同)
  • +1这应该是公认的答案。因此,您只需要重命名分支的存储库,并使用原始名称导入到新的存储库。 (2认同)

Tia*_* A. 38

此方法将创建一个新的"unforked"存储库,同时保留其他所有内容(提交历史记录,分支和标记).

如何通过四个简单的步骤"unfork"项目:

  1. git clone --bare https://github.com/{username}/{repository}
  2. 删除https://github.com/{username}/{repository}/ settings中的原始存储库.
  3. {repository}https://github.com/new上创建名称为new的新存储库.
  4. cd {repository}.gitgit push --mirror https://github.com/{username}/{repository}

并做了!

  • 幸运的是OP提到"我不想删除我的分叉以保持问题+拉取请求的历史记录." (3认同)
  • 它不维护拉取请求。有没有办法在取消分叉期间维护拉取请求? (2认同)

hjp*_*r92 22

我记得大约一年前在GitHub的一个帮助页面上读过这篇文章.他们提到联系GitHub工作人员解释您的情况.工作人员将为您提供帮助.


编辑

浏览完GitHub页面列表后,我发现我对实际任务有点不满意.我记得的页面是转移存储库 ; 特别是:

如果传输的存储库有任何分支,则在传输完成后,这些分支与新存储库相关联.请记住,分叉存储库的用户需要更新其远程URL以指向新的Git存储库,以便继续打开请求.


仍然有必要与您的特定问题联系工作人员,并要求他们将您的分支与网络分开.

  • 我通过https://github.com/contact与工作人员联系,解释了我的情况,他们现在已经放弃了它.或者使用他们的术语"提取到自己的fork网络中".谢谢! (10认同)
  • 一些更新的信息:如果您访问 https://support.github.com/contact?tags=rr-forksm 并输入主题“从父存储库分离分叉”,则可以选择通过 web- 从 GitHub 的虚拟助手获取帮助基于聊天。它要求提供存储库 URL,您提供它,瞧!完成。 (6认同)

dpo*_*sch 16

我在官方github文档中找到了以下内容:

要分离fork并将其转换为GitHub上的独立存储库,请联系GitHub支持.如果fork具有自己的分支,请让支持知道分支是否应随存储库移动到新网络中或保留在当前网络中.有关更多信息,请参阅" 关于叉子".

来自 https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/#commit-was-made-in-a-fork


Vit*_*.us 11

取消分叉而不删除存储库

  1. 转到此链接https://support.github.com/request?q=unfork
  2. 单击“我们的虚拟助手可以帮助分离/取消分叉存储库”
  3. 单击“分离”
  4. 它将询问存储库链接