【问题标题】:GitHub-2-GitHub issues importGitHub-2-GitHub 问题导入
【发布时间】:2011-06-15 10:41:33
【问题描述】:

如您所知,GitHub 引入了 Repo Transfer 功能。 https://github.com/blog/876-repo-transfers 这使您可以更改根存储库的所有权,而不是将它们与您的组织分叉。但是,如果您已经分叉了一个 repo,并且想将其所有未解决的问题转储到新创建的问题,您应该怎么做?

GitHub-2-GitHub问题导入有解决办法吗?

【问题讨论】:

    标签: github github-api


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这个新创建的仓库现在有自己的历史,我不想清除它。使用 API 并复制所有未解决的问题是否有意义?
      • 您只需在转移后将该历史记录推送到回购中即可。
      • 这个答案应该比-2更好。它还值得进一步充实。
      【解决方案3】:

      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 在离开的团队成员手中)。所以它对我不起作用。但是...如果您确实对要迁移的父 repo 具有管理员权限,那么使用“transfer 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 script 脚本有帮助,但它不会恢复问题上的 cmets。随意改进它并向他发送 PullRequest (I did)。

      【讨论】:

        【解决方案4】:

        我的同事写了一个名为 Kamino 的 Chrome 扩展程序。它是开源的,并且工作得非常好。更多的是单独复制问题,但他也在考虑批量复制。

        在此处可用:https://chrome.google.com/webstore/detail/kamino/ffdebockfdjileaojbbccofhgncmioaf 源代码: http://github.com/gatewayapps/kamino

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-02
          • 2015-07-19
          • 2016-05-13
          • 1970-01-01
          • 1970-01-01
          • 2021-06-19
          • 1970-01-01
          相关资源
          最近更新 更多