Unfork Github fork而不删除

时间:2015-03-29 07:37:29

标签: git github

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

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

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

我很高兴保留提交的历史记录,它只是删除了我之后的分叉状态。

4 个答案:

答案 0 :(得分:45)

Na,na。 Github比你想象的要强大得多。

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

一步一步:

  • 点击右上角的“+”,选择“导入资源库”
  • 粘贴旧的repo网址(如https://github.com/user/repo)并输入新名称。
  • 点击“开始导入”

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

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

答案 1 :(得分:34)

此方法将创建一个新的“unforked”存储库,同时维护其他所有内容(提交历史记录,分支和标记)。

如何通过四个简单的步骤“取消”项目:

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

答案 2 :(得分:21)

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


修改

在浏览GitHub页面列表后,我发现我对实际任务有点不满意。我记得的页面是Transferring a repository;特别是:

  

如果转移的存储库有任何分支,则传输完成后,这些分支将与新存储库关联。   请记住,分叉存储库的用户需要这样做   更新其远程URL以按顺序指向新的Git存储库   继续打开拉动请求。


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

答案 3 :(得分:12)

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

  

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

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