在不删除和重建 GitHub 仓库的情况下与父仓库分离

发布于 2023-03-04 23:39:08 字数 1923 浏览 123 评论 0

背景

有开发者、甚至公司可能会遇到过以下几个问题:

  1. 最开始 Fork 了一个仓库,之后做了大量的修改,从功能到开发语言,已经与父仓库各自发展了
  2. 由于是 Fork 的仓库,在每次提 Pull Request 的默认目标分支是父仓库,一不注意就会提 PR 到父仓库里去了
  3. Fork 的仓库有人贡献并使用了,但不能显示贡献者,以及该项目被哪些其他的项目所使用,这不利于项目的发展

基于这些问题,开发者会考虑与父仓库进行分离,但目前 GitHub 没有提供 Unfork/Detach 的功能。

如果直接删除项目并重建可以达到分离的目的,但这样会丢失一些重要的信息,比如项目中的 Issues,Wikis 以及 Pull Requests 等。

Unfork 跟某节旗下某引擎白嫖 Apache SkyWalking 有本质区别,它更像是 Hudson 和 Jenkins 的分道扬镳。

解决办法

在经过一番调查和测试,目前最可行的办法就是通过 GitHub Support 来处理,具体操作如下:

打开这个链接:https://support.github.com/contact?tags=rr-forks

选择你的账户或是组织,然后在 Subject 中输入 unfork 会自动弹出虚拟助手,选择虚拟机助手

然后根据虚拟助手的问题然后选择答案(如下是部分截图)

最后这些对话会自动转换成文字脚本,然后 Send request,等着 Support 处理就可以了(不会太久)

这里要注意一下,如果你的仓库被其他人 Fork 了,你想跟父仓库分离之后继续保留你的子仓库的 Fork 记录,你应该选择 Bring the child forks with the repository。

另外,通过其他方式,比如命令 git clone --baregit push --mirror,可以保留完成的 Git 历史,但不能保留 Issues,Wikis 以及 Pull Requests 等信息。

参考

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

惜醉颜

暂无简介

文章
评论
789 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文