通过拉动镜像一个git存储库?

我想知道是否有一个简单的方法,即像一个简单的cron作业,定期从远程git存储库拉到本地只读镜像备份的目的?

理想情况下,它会拉动所有的分支和标签,但主/行/头就足够了。

我只需要一种方法来确保如果主git服务器死亡,我们有一个备份位置,我们可以手动故障转移到。

先用镜子创造一个镜子

git clone --mirror git@somewhere.com:repo.git 

然后像这样设置一个cron作业:

 */1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags 

这将每分钟备份更改集。 也许你不想这么做。

正如Andrew指出的那样,每个git repo的克隆都是repo的全面备份。 也就是说,如果您想要自动备份到特定计算机上,可以在备份服务器上创build一个裸回购,并将其与所有要备份的分支一起推入,以便最初填充它。 然后只需在“主”仓库上设置一个后更新钩子,这样只要有提交被推入,它就会继续前进,并将它们推送到备份仓库。 不需要一个cron作业或rsync,它几乎是现场复制。

你有直接访问服务器? 那么你可以只是rsync.git目录