我怎样才能让GitHub忘记或分离我的回购最初是另一个项目的分支?

我在GitHub上创建了一个项目。我现在可以看到“fork from whatever/whatever”。不再维护父存储库“whatever/whatever”。我已经被允许继续使用原始存储库的代码库来创建一个独立的存储库。

是否有方法将我的项目从原始存储库分离?


当前回答

2022年1月更新:

在https://support.github.com/contact?tags=rr-forks&subject=Detach%20Fork&flow=detach_fork上使用GitHub聊天机器人虚拟助手

第一个回答: 你可以联系github支持人员,让他们把你的存储库切换到“正常模式”。

在本页,“提交是在一个分叉”段落,它解释说,一个人必须通过支持切换。因此,很可能自己无法做到这一点(除非你销毁并重新创建之前解释过的回购…如果你这样做了,如果你有票或wiki附加到你的项目,他们将被删除!)

其他回答

确保你的本地repo上有所有重要的分支和标签,删除github repo,通过通常的方式重新创建存储库(没有分叉),并使用git push将本地存储库推回。注意,如果您有不想发布的本地分支,可能值得为该操作创建一个临时干净的本地克隆。

然而,这也将摆脱wiki和问题。因为wiki实际上是它自己的存储库,所以可以通过克隆它,然后重新创建和推送来类似地处理它。回购地址在wiki的Git访问页面(git@github.com:user/repo.wiki. Git)。

这就产生了问题。它们可以通过API导出,但据我所知,你只能自己创建问题和注释,所以完美地导入它们是不可能的。

所以,如果你需要保留问题,你应该像Thomas Moulard建议的那样通过github支持。

2022年1月更新:

在https://support.github.com/contact?tags=rr-forks&subject=Detach%20Fork&flow=detach_fork上使用GitHub聊天机器人虚拟助手

第一个回答: 你可以联系github支持人员,让他们把你的存储库切换到“正常模式”。

在本页,“提交是在一个分叉”段落,它解释说,一个人必须通过支持切换。因此,很可能自己无法做到这一点(除非你销毁并重新创建之前解释过的回购…如果你这样做了,如果你有票或wiki附加到你的项目,他们将被删除!)

如果你不需要任何过去的提交(在我的情况下不需要),你可以:

项目分叉 创建fork的本地副本(我使用我的IDE来做) 从本地副本中删除git文件夹 就像你通常会提交一个新项目一样提交这个项目。

之后你可以从你的github账户中删除fork。只花了我一分钟,效果很好。

我得到了类似的问题,并最终使用这个github帮助页面来解决它。我不介意wiki和问题跟踪器,因为我的博客使用了另一个用户好心开发的主题。

在几次提交后分离一个fork的回购并将其作为自己的使用,而不会丢失整个历史记录:

Git克隆——bare git@github.com:user/forked_repo.git

在github网站上创建一个新的空存储库new-repository。 并推送镜像版本:

cd user.github.com.git /

Git推送——镜像git@github.com:user/new-repository.git

人们可以在github上重命名forked_repository,用另一个名字保存它作为备份,并在需要时检查更新。或者干脆删除它。

将新存储库重命名为原始名称即可完成此工作。作为副作用,您的提交现在显示在历史记录中。

这只适用于GitHub企业,而不是github.com

登录具有管理员权限的帐户:

转到需要分离的存储库:https://<ghe url>/<org>/<repo> 点击右上角的“站点管理”火箭 点击顶部菜单栏上的“协作” 点击左边窗格的“网络” 点击“网络结构”窗格中的“创建根” 接受

这在GitHub Enterprise 2.9上进行了测试