有开发者、甚至公司可能会遇到过以下几个问题:
基于这些问题,开发者会考虑与父仓库进行分离,但目前 GitHub 没有提供 Unfork/Detach 的功能。
如果直接删除项目并重建可以达到分离的目的,但这样会丢失一些重要的信息,比如项目中的 Issues,Wikis 以及 Pull Requests 等。
Unfork 跟某节旗下某引擎白嫖 Apache SkyWalking 有本质区别,它更像是 Hudson 和 Jenkins 的分道扬镳。
在经过一番调查和测试,目前最可行的办法就是通过 GitHub Support 来处理,具体操作如下:
然后根据虚拟助手的问题然后选择答案(如下是部分截图)
最后这些对话会自动转换成文字脚本,然后 Send request,等着 Support 处理就可以了(不会太久)
这里要注意一下,如果你的仓库被其他人 Fork 了,你想跟父仓库分离之后继续保留你的子仓库的 Fork 记录,你应该选择 "Bring the child forks with the repository"。
另外,通过其他方式,比如命令 git clone --bare
和 git push --mirror
,可以保留完成的 Git 历史,但不能保留 Issues,Wikis 以及 Pull Requests 等信息。
希望对有需要的你有所帮助。
[1]Delete fork dependency of a GitHub repository: https://stackoverflow.com/questions/16052477/delete-fork-dependency-of-a-github-repository
[2]Unfork a Github fork without deleting: https://stackoverflow.com/questions/29326767/unfork-a-github-fork-without-deleting/41486339#41486339