2.2 异地协同工作

为了能够加快写书的进度,熬夜是必须的,这就出现了在公司和家里两地工作同步的问题。图2-2用于说明我是如何解决两地工作同步问题的。

2.2 异地协同工作 - 图1

图 2-2 利用Git实现异地工作协同

我在家里的电脑IP地址是10.0.0.100(家里也有一个小局域网)。如果在家里有时间工作的话,首先要做的就是图2-2中步骤③的操作:将mirror版本库中的数据同步到本地。只需要一条命令就好了:


$git pull mirror master


然后在家里的电脑上继续编写书稿并提交。当准备完成一天的工作后,就执行下面的命令,相当于图2-2中步骤④的操作:将在家中的提交推送到标记为home的版本库中。


$git push home


为什么还要再引入另外一个名为home的版本库呢?使用mirror版本库不好么?不要忘了mirror版本库只是一个镜像库,不能提供写操作。

当一早到公司,开始动笔写书之前,先要执行图2-2中步骤⑤的操作,从home版本库将家里做的提交同步到公司的电脑中。


$git pull home master


公司的小崔是我这本书的忠实读者,每当有新章节完成,他都会执行图2-2中步骤⑥的工作,从公司内网服务器获取我最新的文稿。


$git pull


一旦发现文字错误,小崔会直接在文稿中修改,然后推送到公司的服务器上(图2-2中步骤⑦)。当然他的这个推送也会自动同步到外网的mirror版本库。


$git push


而我只要执行git pull操作就可以获得小崔对文稿的修订(图2-2中的步骤⑧)。采用这种工作方式,文稿竟然分布在5台电脑上拥有6个拷贝,真可谓狡兔三窟。不,比狡兔还要多三窟。

在本节中,出现在Git命令中的mirror和home是和工作区关联的远程版本库。关于如何注册和使用远程版本库,请参见本书第3篇第19章中的内容。