假设我们公司广泛使用 GitHub,因此我们有一个包含数百个问题和 PR 的大型私人存储库。所有程序员都在这个仓库上工作。
但是,我们可能想更换为其他提供商,例如 GitLab、BitBucket,甚至是自托管 git 服务器。当然,代码可以很容易地转移和克隆。但是 PR、问题、看板、维基、项目等呢?我怎样才能转移它们?或者,如何将它们备份到本地计算机?
感谢您的建议!
GitHub wiki 只是一个 git 存储库,其中包含每个页面的完整 wiki 标记的文件;您可以克隆它并备份它。当然,将其转移到其他地方可能需要一些 wiki 标记转换。
大多数其他内容都可以通过 API 访问;您应该熟悉 API 文档。例如,如果您想导出问题和 PR,则需要从 GET issues 端点开始。
您正在寻找的是完整的迁移过程。
许多主要的源代码控制系统都有自动化流程来处理这个问题。例如,这是 GitLab 的流程:
https://docs.gitlab.com/ee/user/project/import/github.html
使用导入器,您可以将 GitHub 存储库导入到 GitLab.com 或您自行管理的 GitLab 实例。
概述
导入项目的以下方面:
- 存储库描述(GitLab.com 和 7.7+)
- Git 存储库数据(GitLab.com 和 7.7+)
- 问题(GitLab.com 和 7.7+)
- 拉取请求(GitLab.com 和 8.4+)
- Wiki 页面(GitLab.com 和 8.4+)
- 里程碑(GitLab.com 和 8.7+)
- 标签(GitLab.com 和 8.7+)
- 发行说明说明(GitLab.com 和 8.12+)
- 拉取请求审核评论(GitLab.com 和 10.2+)
- 拉取请求评论(GitLab.com 和 13.7+)
- 拉取请求“合并者”信息(GitLab.com 和 13.7+)
- 常规问题和拉取请求评论
- Git 大文件存储 (LFS) 对象
可以通过使用右侧窗格菜单底部的链接“在本地克隆此 wiki”来“备份”/克隆 WIKI。只需复制链接并使用 GitHub 桌面将其克隆到我们的本地计算机即可。