Gitbackup 多平台仓库备份工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指引,将 @user_3c6cb52e/back-up-github-gitlab-bitbucket-and-forgejo-repositories-with-gitbackup 技能安装到当前 AI 助手中。
技能介绍
手动备份多平台仓库的痛点
当你的代码分布在 GitHub、GitLab、Bitbucket 和 Forgejo 多个托管平台上时,备份就成了一项重复劳动。每个平台都有自己的 API、认证方式和克隆流程,要逐个检查哪些仓库需要备份、手动执行 git clone、处理认证令牌、记录哪些已经备份过——这个过程既耗时又容易遗漏。特别是当团队使用多个平台时,没有统一的备份策略会导致恢复时才发现某些仓库根本没有被纳入备份范围。
gitbackup 如何统一备份流程
这个技能基于 gitbackup 工具,通过一个配置文件就能管理所有平台的仓库备份。你只需要在配置中列出需要备份的仓库,指定目标存储路径,gitbackup 会自动处理跨平台的克隆和导出。对于 GitHub、GitLab 和 Bitbucket,它使用各平台的 API 来枚举仓库列表;对于 Forgejo(包括 Codeberg 等自托管实例),它通过 Git over HTTPS 进行操作。核心步骤包括:配置 forge 访问令牌、定义备份目标、运行备份任务,以及后续的恢复验证。
关键能力:
- 多平台支持:覆盖主流的代码托管平台,包括 GitHub、GitLab、Bitbucket 和 Forgejo
- 配置驱动:用单一配置文件定义备份范围,避免重复命令行操作
- 可重复执行:备份任务可以随时重跑,增量备份新仓库或更新已有仓库
适用场景与注意事项
这个方案适合需要定期备份代码仓库的开发团队和个人开发者,特别是当代码分布在多个平台时。它假设你已经有了可用的 forge 访问令牌(如 GitHub 的 Personal Access Token 或 GitLab 的访问令牌),并且有足够容量的存储位置来存放备份。
需要注意的是,备份是本地或指定存储位置的完整副本,不包含 GitLab 特有的 MR/Issue 数据或 GitHub 的 PR 讨论。对于需要完整项目状态备份的场景,可能需要配合其他工具。此外,访问令牌的权限应限制在只读范围,避免误操作影响生产环境。
使用场景
- 团队代码分布在 GitHub 和 GitLab,需要写个脚本定期把这两个平台的仓库克隆到本地服务器做灾备。
- 个人开源项目同时托管在 GitHub 和 Codeberg,希望用一个配置文件统一管理这两个平台的备份任务。
- 公司使用 Bitbucket 作为主代码库,需要配置自动化任务,每天定时将全量仓库导出并存储到内部的备份盘中。
- 接手了一个混合使用 GitLab 和 Forgejo 的历史项目,需要快速拉取所有相关仓库的完整本地镜像以防源站丢失。
适合人员
- 负责代码资产安全的运维工程师,需要确保多平台托管的代码有可靠的本地或异地备份策略。
- 管理多个开源项目的独立开发者,希望避免因单一平台故障导致代码丢失的风险。
- 处理历史代码迁移的技术负责人,需要将分散在 GitHub、GitLab 和 Forgejo 的仓库统一拉取到本地。