对于开发者而言,代码是最重要的数据。因此,我们需要经常地备份这些代码,同时,我们也需要很方便地从不同电脑访问这些源代码。
_ _ _
||__ ___ _ __ ___ ___ _ _|| _(_)
| '_ \ / _ \ '__/ _ \/ __|||||/ / |
|||| __/ || (_) \__ \ |_|| <||
|_||_|\___|_| \___/|___/\__,_|_|\_\_|
一般而言,这些代码已经由版本控制系统管理了。这就带来一个问题:用普通的备份工具备份并不很方便。
比如,对于一般的数据,有很多现成的备份工具可用,最简单的,也许用rsync
就可以了。但是,如果要备份由git管理的代码呢?一次git gc
之后,包括rsync
在内的大部分备份工具就高效不起来了。而git gc
可是建议要经常运行的。
还有一个问题,就是现在很多流行的备份服务都到了第三方提供的服务器(云端备份)。然而代码往往需要保密,第三方提供的云端备份不那么令人放心。
好在Google开源了一款名为Hesokuri的专门针对git仓库的备份工具。它是一个后台进程,可以使git仓库在多台机器上保持同步。提交之后,改动会被推送到各台机器。当有一台机器下线的时候,Hesokuri会持续重试直到获得响应。
使用Hesokuri很简单。安装之后,写一个简单的配置文件,然后照常使用git就行了。Hesokuri还提供了一个web界面,你可以很方便地看到那些改动已经被推送出去了。