自动镜像 git 个仓库

Automatically mirror git repository

我有一个 git 我可以通过 ssh 访问。我想通过镜像将服务器备份到另一个位置。我有另一台服务器,我可以在其中设置另一个 git 存储库。

我的想法是:以某种方式自动将提交从服务器 1 转发到服务器 2,这可能吗?

您可以使用

git clone

如果您在备份服务器上安装了客户端客户端。然后可以将其设置为 运行 定期自动更新。

要在对存储库执行推送后自动执行操作,可以使用 post-receive 挂钩。整个推送过程完成后会调用它。

您可以简单地使用带有 --mirror [1] 选项的标准 git push 推送到其他服务器:

#!/bin/bash
git push --mirror git@example.com:mirror.git

[1]

   --mirror
       Instead of naming each ref to push, specifies that all refs under
       refs/ (which includes but is not limited to refs/heads/,
       refs/remotes/, and refs/tags/) be mirrored to the remote
       repository. Newly created local refs will be pushed to the remote
       end, locally updated refs will be force updated on the remote end,
       and deleted refs will be removed from the remote end. This is the
       default if the configuration option remote.<remote>.mirror is set.