【发布时间】:2011-02-14 22:50:18
【问题描述】:
我想知道是否有一种简单的方法,例如简单的 cron 作业,定期从远程 git 存储库拉到本地只读镜像以进行备份?
理想情况下,它会拉出所有分支和标签,但 master/trunk/head 就足够了。
我只需要一种方法来确保如果主 git 服务器死了,我们有一个可以手动故障转移到的备份位置。
【问题讨论】:
-
bash 脚本的想法有什么问题?您可以将其修改为只进行一次探测/拉动,然后将其安装为 cron 作业,不是吗?
-
那个脚本没问题。你知道每一个 git repo 的克隆都是一个完整的备份吗?因此,您很可能已经拥有大量的 repo 副本。
-
@Andrew,说得好。在我们的情况下,尽管我们有任何地方都没有克隆的示例,即我们有一些由客户端通过 FTP 更新的代码。我们使用 git 来跟踪客户端在做什么,并且在任何地方都没有它的克隆。
-
仅作记录,git clone 不是完整的备份。它不包括 .git/config 中的存储库配置,也不包括 reflog、钩子、git-rerere 的缓存或未引用的提交(这也可能很有价值)。大概还有很多其他的东西在 .git/ 中。对于备份服务器存储库,一个克隆可能就足够了,但一个工作存储库有很多损失。