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