我想每天将我组织的 100 多个存储库(包括所有分支)备份到我的 NAS 设备。
例如,我使用
velero
来备份Kubernetes集群。我正在寻找一个具有特殊用途的 github 存储库备份工具,例如 velero
。
你知道有这样的工具吗?
如果您只是想备份存储库内容,那么您可以简单地使用
git clone --mirror URL
来完成此操作。 这将产生包含所有分支的裸克隆,它应该是远程存储库的精确副本。
如果组织中有许多存储库,您可以创建一个脚本,使用 List Organization Repositories API 来迭代这些存储库并克隆它们。 如果您每天只执行一次,那么它不会对您的速率限制造成太多问题。
另请注意,GitHub 也会备份您的存储库,因此数据丢失的可能性非常低。
您可以使用 bash 和 gh cli 工具:
mkdir -p ~/all-repos
cd ~/all-repos
for repo in $(gh repo list --limit 1000 --json nameWithOwner -q '.[].nameWithOwner'); do
gh repo clone "$repo" -- -q
done