我有一个我通过ssh访问的git。我想通过镜像将服务器备份到另一个位置。我有另一个服务器,我可以在其中设置另一个git存储库。
我的想法是:以某种方式转发从服务器1到服务器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
如果您在备份服务器上安装了客户端客户端。然后可以将其设置为定期运行以进行自动更新。