跳至主要内容

备份存储库

您可以使用 Git、第三方工具或 API 来备份您的存储库。

您可能希望对存储库进行备份以用于存档或灾难恢复目的。

根据您使用的 GitHub 功能和您的要求(例如您是否需要能够恢复备份),有不同的备份选项,其中包含不同的数据。

您可能希望将备份存储在外部硬盘上和/或将其上传到基于云的备份或存储服务,例如 Azure Blob StorageGoogle DriveDropbox

使用 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.com 上没有受支持的、有记录的方法来恢复迁移存档,因此这些备份仅适用于归档目的。

第三方备份工具

有许多自助工具可以自动备份存储库。备份工具将从特定存储库下载数据,并将其组织在一个新分支或目录中。

有关自助备份工具的更多信息,请参阅 GitHub Marketplace 上的备份实用程序类别