我如何让GitHub忘记或解除我的回购最初是另一个项目的分支?
我在GitHub中分叉了一个项目.我现在可以看到"从任何东西分叉".不再维护父存储库"any/whatever".我被允许继续使用原始存储库的代码库来创建一个独立的存储库.
有没有办法将我的项目从原始存储库中分离出来?
Tho*_*ard 160
您可以联系github支持并要求他们将您的存储库切换到"正常模式".
在这个页面上,"提交是在一个分叉"段落,解释说必须通过支持切换.因此,很可能是没有办法做到这一点自己(除非你破坏并重新创建您的回购这之前...解释的.如果你这样做要小心,如果你有票或维基连接到你的项目,因为它们会被删除!).
Tap*_*pio 42
确保在本地存储库中拥有所有重要的分支和标记,删除github存储库,通过常规方式重新创建存储库(无分支),然后推送本地存储库git push --all.请注意,如果您有不想发布的本地分支,则可能值得为该操作创建临时的干净本地克隆.
但是,这也将摆脱维基和问题.由于维基实际上是它自己的存储库,因此可以通过克隆它然后重新创建和推送来类似地处理它.回购地址在wiki的Git Access页面上(git@github.com:user/repo.wiki.git).
这留下了问题.它们可以通过API导出,但据我所知,您只能与您的人员一起创建问题和评论,因此完全导入它们是不可能的.
因此,如果您需要保留问题,您应该像Thomas Moulard建议的那样通过github支持.
Juu*_*nen 36
您可以从github UI将分叉的存储库复制到新的存储库(没有fork依赖性),然后删除原始的分叉存储库:
GOT*_*O 0 33
使用您的凭据登录 GitHub。
转到https://support.github.com/contact?tags=rr-forks&subject=Detach%20Fork&flow=detach_fork
选择“Detach”,然后输入分叉的 URL 或存储库名称your-user-name/repository-name,并回答虚拟助手的其他问题。
您将收到一封包含票号的电子邮件,您可以在其中查看请求的状态。一旦您的存储库被取消分叉,您还将收到一封电子邮件通知。
大多数存储库设置将保持不变,包括用户权限、观星者、问题、PR、讨论等。
aur*_*ien 19
我遇到了类似的问题,最后使用这个github帮助页面来解决它.我不介意维基和问题跟踪器,因为它是我的博客使用由另一个用户亲切开发的主题.
分离一个分叉的repo并在几次提交后使用它作为你自己的repo而不会丢失整个历史记录:
git clone --bare git@github.com:user/forked_repo.git
new-repository在github网站上创建一个新的空重定位.并推送镜像版本:
cd user.github.com.git/
git push --mirror git@github.com:user/new-repository.git
可以在github上重命名 forked_repository使用另一个名称将其保留为备份,并在需要时检查更新.或者只是删除它.
重命名new-repository为原始名称可以完成工作.作为副作用,您的提交现在会出现在您的历史记录中.
使用来自aurelien和Clayton的信息,我可以通过以下方式做到这一点:
$ git clone --bare https://github.com/my/forked_repo.git
<delete forked_repo on GitHub>
<recreate repo on GitHub using same name>
$ cd forked_repo.git
$ git push --mirror
Run Code Online (Sandbox Code Playgroud)
这是有关的文档git clone --bare:
制作一个裸露的Git存储库。也就是说,不要在其中创建
<directory>和放置管理文件<directory>/.git,而<directory>应将自身设置为$GIT_DIR。显然,这意味着-n,因为没有地方可以检出工作树。同样,将远程站点的分支头直接复制到相应的本地分支头,而无需将其映射到refs/remotes/origin/。使用此选项时,不会创建远程跟踪分支或相关的配置变量。
这是有关的文档git push --mirror:
代替命名每个裁判推的,则指定下的所有参考文献
refs/(包括但不限于refs/heads/,refs/remotes/和refs/tags/)被镜像到远程存储库。新创建的本地裁判将被推送到远程端,本地更新的裁判将在远程端强制更新,而已删除的裁判将从远程端删除。如果remote.<remote>.mirror设置了配置选项,则这是默认设置。
注意:像其他git基于答案的答案一样,这不会复制不属于git仓库的问题,例如Wiki和问题。每个Tapio:
git@github.com:user/repo.wiki.git。这仅适用于GitHub Enterprise,而不适用于github.com
登录到具有管理员权限的帐户:
https://<ghe url>/<org>/<repo>这是在GitHub Enterprise 2.9上测试的