自动镜像git存储库

时间:2015-05-06 08:50:16

标签: git mirroring

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

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

2 个答案:

答案 0 :(得分:4)

要在存储库上执行推送后自动执行操作,可以使用post-receive挂钩。一旦整个推送过程结束,它将被调用。

只需使用标准git push并使用--mirror [1]选项即可推送到其他服务器:

#!/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.

答案 1 :(得分:-2)

您可以使用

git clone

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