出于迁移项目的考虑,GitHub 中 Fork 出来的项目,如何与原项目断开 Fork 关系?

如果需要为 GitHub 上的项目做贡献,我们通常会 Fork 到自己的名称空间下。在推送代码之后添加 pull request 时,GitHub 会自动为我们跨仓库建立 pull request 的连接,非常方便。但是,如果 Fork 是出于项目的迁移,例如从个人名下迁移到某个组织下或者反过来,那么这种自动的 pull request 的设置就很影响效率了。

那么这种情况如何处理呢?如何断开 Fork 连接呢?


在 GitHub 的官方帮助页面 Commit was made in a fork 中,有这一段话:

To detach the fork and turn it into a standalone repository on GitHub, contact GitHub Support or GitHub Premium Support. If the fork has forks of its own, let support know if the forks should move with your repository into a new network or remain in the current network. For more information, see “About forks.”

也就是说,你是不能通过自己的操作来断开 Fork 联系的。这是当然的,毕竟随意就能断开的话,开源的一方就非常容易失去对源码的控制权,这很不利于开源社区的贡献。

你需要做的,是进入 GitHub 支持页面 https://github.com/contact 在里面填写你的请求,要求 GitHub 官方支持人员手动断开 Fork 关联。

填写请求

填写完之后,等待 GitHub 官方人员处理:

保持联系

当 GitHub 官方人员处理完之后,会给出回复邮件,告知 Fork 关系已经反转:

主仓库已经改变


参考资料

blog bulletin

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/how-to-detach-the-fork-in-github.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,或者前往 CSDN 关注我的主页

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)