如您所知,GitHub引入了回购传输功能。 https://github.com/blog/876-repo-transfers 这使您可以更改根回购的所有权,而不是与您的组织分离。但是,如果您已经分叉回购并想将所有未解决的问题转储到新创建的问题,您应该怎么做?GitHub-2-GitHub问题导入
在GitHub-2-GitHub问题导入上有解决方案吗?
如您所知,GitHub引入了回购传输功能。 https://github.com/blog/876-repo-transfers 这使您可以更改根回购的所有权,而不是与您的组织分离。但是,如果您已经分叉回购并想将所有未解决的问题转储到新创建的问题,您应该怎么做?GitHub-2-GitHub问题导入
在GitHub-2-GitHub问题导入上有解决方案吗?
虽然Tekkub答案是有道理的,我还实现了一个简短的脚本来传输问题: github.com/..../gh-issues-import
您应该删除新创建的并转让回购。转让回购所有权会带来问题。
Tekkub写了一个不那么广受欢迎的答案(-2截至发稿时):"You should delete the newly created one and transfer the repo instead. Transferring repo ownership takes the issues with it."
他没有错;他只是没有经过任何考虑和陷阱。我列举了几个低于的...
只有当你有“管理员”访问父回购工作:
就我而言,我无法使用回购迁移,因为我不要“拥有”父母回购,所以我不能授权转让(父母回购在一个离开的团队成员手中)。所以它不适合我。但是,如果你实际上对你正在迁移的父回购具有管理权限,那么使用“回购回购”功能显然更好,远不如听起来那么难。
提交历史 - 琐碎保持
一位评论者表达了其自身的历史,他们不想失去新回购的关注。那么,这是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
如果你已经在这两个回购产生的问题......嗯,这是拧
决定哪些回购具有更为重要的内容,用其作为基础,其他一切端口到那里。这是一个“合并”。祝你好运。 ibo.ezhe发布的脚本gh-issues-import.py script有帮助,但它不会恢复对问题的评论。随意改进它,并发送给他一个PullRequest(I did)。
我的同事写了一个名为Kamino的Chrome扩展。它是开源的,工作非常好。更多的是单独复制问题,但他也在考虑批量复制。
可在这里:https://chrome.google.com/webstore/detail/kamino/ffdebockfdjileaojbbccofhgncmioaf 的源代码: http://github.com/gatewayapps/kamino
这个新建立的回购有自己的历史,现在我不想将其清除。使用API并复制所有未解决的问题是否有意义? – 2011-06-16 09:11:51
您只需在转移后将该历史记录推入回购协议。 – Tekkub 2011-06-16 20:25:19
这个答案值得比-2更好。它也值得更多的充实。 – 2013-02-08 18:24:52