您可能需要备份仓库以进行存档或灾难恢复。
根据您使用的 GitHub 功能和您的需求(例如,您是否需要能够恢复备份),有多种备份选项,其中包含不同的数据。
您可能希望将备份存储在外部硬盘驱动器上和/或将其上传到基于云的备份或存储服务,例如Azure Blob 存储、Google Drive或Dropbox。
使用 Git CLI 备份 Git 仓库
Git 仓库包含与项目关联的所有文件和文件夹,以及每个文件的修订历史记录。更多信息,请参阅“关于 Git”。
您可以使用 Git CLI 执行镜像克隆来备份 Git 仓库,包括修订历史记录。
要执行镜像克隆,请使用带有--mirror
选项的git clone
命令。
git clone --mirror https://github.com/EXAMPLE-USER/REPOSITORY.git
如果仓库包含 Git 大型文件存储对象,请提取这些对象。有关 Git 大型文件存储以及如何安装它的更多详细信息,请参阅“关于 Git 大型文件存储”。
git lfs fetch --all
克隆 Git 仓库后,您可以将其压缩到存档中(例如.zip
或.tar.gz
文件),然后将其移动到安全的位置进行保存。
您可以通过解压缩存档然后将 Git 仓库推送到 Git 远程端来恢复备份。
使用 Git CLI 备份 Wiki
GitHub 中的 Wiki 存储为 Git 仓库。这意味着您可以通过克隆来备份 Wiki。有关如何使用 Git 克隆 Wiki 的更多详细信息,请参阅“添加或编辑 Wiki 页面”。
克隆 Wiki 后,您可以将其压缩到存档中(例如.zip
或.tar.gz
文件),然后将其移动到安全的位置进行保存。
您可以通过解压缩存档然后将 Wiki 仓库推送到 Git 远程端来恢复备份。
使用迁移归档备份 Git 仓库和选定元数据
您可以使用 REST API 为仓库生成迁移归档。更多信息,请参阅“组织迁移的 REST API 端点”。
这些归档旨在用于在 GitHub 产品之间移动数据,但它们也可以用于将仓库备份到存档中。
警告
迁移归档不包含与仓库相关的所有数据。例如,不包含 Git 大型文件存储对象、讨论或软件包。有关迁移归档中包含内容的更多信息,请参阅“关于 GitHub 产品之间的迁移”。
生成归档后,您可以将其移动到您选择的安全位置进行保存。
GitHub 没有支持的、有文档记录的恢复迁移归档的方法,因此这些备份仅适用于存档目的。
第三方备份工具
许多自助服务工具可以自动备份仓库。备份工具将从特定仓库下载数据,并将其组织到新的分支或目录中。
有关自助服务备份工具的更多信息,请参阅GitHub Marketplace 上的备份实用程序类别。