如您所知,GitHub推出了Repo Transfer功能。 https://github.com/blog/876-repo-transfers 这允许您更改根目录的所有权,而不是将其与组织分开。但是,如果您已经分叉了一个仓库,并希望将所有未解决的问题转储到新创建的仓库,那么您应该怎么做?
GitHub-2-GitHub问题导入是否有任何解决方案?
答案 0 :(得分:14)
虽然Tekkub的回答很有意义,但我仍然实现了一个简短的脚本来传输问题: github.com/..../gh-issues-import
答案 1 :(得分:6)
您应该删除新创建的并转移回购。转让回购所有权会带来问题。
答案 2 :(得分:5)
Tekkub写了一个不那么受欢迎的答案(截至撰写本文时为-2): "You should delete the newly created one and transfer the repo instead. Transferring repo ownership takes the issues with it."
他没有错;他只是没有完成任何考虑因素和陷阱。我将列举以下几个......
仅当您拥有父代表的“admin”访问权限时才有效:
在我的情况下,我无法使用repo-migration,因为我没有“拥有”父级回购,所以我无法授权转移(父级回购在离开的团队成员手中)。所以它对我不起作用。但是......如果你确实拥有正在迁移的父仓库的管理员权限,那么使用“转移仓库”功能明显更好,而且远不如听起来那么难。
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
如果你在两个回购中都创造了问题......那就搞砸了
确定哪个repo具有更重要的内容,使用它作为基础,并将其他所有内容移植到那里。这是一个“合并”。祝好运。 ibo.ezhe发布的gh-issues-import.py script脚本有帮助,但它不会恢复对这些问题的评论。随意改进它并向他发送PullRequest(I did)。
答案 3 :(得分:0)
我的同事写了一个名为Kamino的Chrome扩展程序。它是开源的,效果非常好。它更多的是单独复制问题,但他也在考虑批量复制。
此处可用:https://chrome.google.com/webstore/detail/kamino/ffdebockfdjileaojbbccofhgncmioaf 源代码: http://github.com/gatewayapps/kamino