GitHub-2-GitHub发布导入

ibo*_*zhe 10 github github-api

如您所知,GitHub引入了Repo Transfer功能.https://github.com/blog/876-repo-transfers 这允许您更改根目录的所有权,而不是将其与组织分开.但是,如果您已经分叉了一个仓库,并希望将所有未解决的问题转储到新创建的仓库,那么您应该怎么做?

有关GitHub-2-GitHub问题导入的解决方案吗?

ibo*_*zhe 14

虽然Tekkub的回答很有意义,但我仍然实现了一个简短的脚本来转移问题: github.com/..../gh-issues-import


Tek*_*kub 6

您应该删除新创建的并转移回购.转让回购所有权会带来问题.


Dav*_*son 5

Tekkub写了一个不那么受欢迎的答案(截至本文写作时为-2):"You should delete the newly created one and transfer the repo instead. Transferring repo ownership takes the issues with it." 他没有错; 他只是没有完成任何考虑因素和陷阱.我将列举以下几个......

只有在您拥有父代表的"admin"访问权限时才有效:

就我而言,我无法使用回购迁移,因为我没有"自己的"父回购,所以我不能授权(在团队成员谁离开手中回购母公司)转移.所以它对我不起作用.但是......如果你确实拥有你正在迁移的父仓库的管理员权限,那么使用"转移仓库"功能明显更好,而且远不如听起来那么难.

Git历史 - 保持微不足道

其中一位评论者表示担心新的回购有自己的历史,他们不想失去.嗯,这git分布式 VCS 的神奇之处.您只需将所有分支和标记以及其他所有内容下载到本地仓库,然后将该历史记录推送到您要迁移的仓库.

git remote add origin1 https://github.com/blah/blah
git remote add origin2 https://github.com/blah/blah
git pull origin1
git push origin2
Run Code Online (Sandbox Code Playgroud)

如果你在两个回购中都创造了问题......那就搞砸了

确定哪个repo具有更重要的内容,使用它作为基础,并将其他所有内容移植到那里.这是一个"合并".祝好运.ibo.ezhe发布的gh-issues-import.py脚本脚本有帮助,但它不会恢复对这些问题的评论.随意改进它并向他发送PullRequest(我做过).