如何 "backup" 或 "transfer" 我的 GitHub 除了代码以外的东西? (公关、问题、维基等)或其他解决方案?

How to "backup" or "transfer" my GitHub things other than code? (PR, issue, wiki, etc) Or other solutions?

比如说,我们公司广泛使用 GitHub,所以我们有一个包含数百个问题和 PR 的大型私人仓库。所有程序员都在这个 repo 上工作。

但是,我们可能希望更换为其他提供商,比如 GitLab、BitBucket,甚至是自托管 git 服务器。当然,代码可以很容易地传输和克隆。但是 PR、问题、看板、wiki、项目等呢?我怎样才能转移它们?或者,如何将它们备份到我的本地计算机?

感谢任何建议!

您正在查找的是完整的迁移过程。

许多主要的源代码控制系统都有自动化流程来处理这个问题。例如,这是 GitLab 的流程:

https://docs.gitlab.com/ee/user/project/import/github.html

使用导入器,您可以将 GitHub 存储库导入 GitLab.com 或您自行管理的 GitLab 实例。

Overview

The following aspects of a project are imported:

  • Repository description (GitLab.com & 7.7+)
  • Git repository data (GitLab.com & 7.7+)
  • Issues (GitLab.com & 7.7+)
  • Pull requests (GitLab.com & 8.4+)
  • Wiki pages (GitLab.com & 8.4+)
  • Milestones (GitLab.com & 8.7+)
  • Labels (GitLab.com & 8.7+)
  • Release note descriptions (GitLab.com & 8.12+)
  • Pull request review comments (GitLab.com & 10.2+)
  • Pull request reviews (GitLab.com & 13.7+)
  • Pull request “merged by” information (GitLab.com & 13.7+)
  • Regular issue and pull request comments
  • Git Large File Storage (LFS) Objects

一个 GitHub wiki 只是一个 git 存储库,其中包含一个包含每个页面的 wiki 标记的文件;你可以克隆它并备份它。当然,将它转移到其他地方可能需要一些 wiki 标记转换。

大多数其他内容都可以通过 API;您应该熟悉 API docs. For instance, if you wanted to export the issues and PRs, you would want to start with the GET issues 端点。