您可能希望对存储库进行备份以用于存档或灾难恢复目的。
根据您使用的 GitHub 功能和您的要求(例如您是否需要能够恢复备份),有不同的备份选项,其中包含不同的数据。
您可能希望将备份存储在外部硬盘上和/或将其上传到基于云的备份或存储服务,例如 Azure Blob Storage、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.com 上没有受支持的、有记录的方法来恢复迁移存档,因此这些备份仅适用于归档目的。
第三方备份工具
有许多自助工具可以自动备份存储库。备份工具将从特定存储库下载数据,并将其组织在一个新分支或目录中。
有关自助备份工具的更多信息,请参阅 GitHub Marketplace 上的备份实用程序类别。