首页 > 代码库 > git用网盘做版本仓库,实现异地同步[待验证]

git用网盘做版本仓库,实现异地同步[待验证]

git在不用github这种远程仓库时,如何实现异地同步呢?

下班前提交代码,回家后同步代码继续开发并提交,第二天来公司继续……

这里做个实验:用网盘的目录同步功能,我们打造一个"伪远程仓库”。

以金山快盘为例:

步骤1.
在本地找个目录作为"远程仓库”,假设我们将 e:\kuaipan\phalcon 这个作为远程仓库,那么就将这个目录拖进快盘(U盘)里,然后再快盘客户端里右键该目录,开启同步。

步骤2.
创建裸版本库,根据git的规则,只有裸版本库才能接受git push/pull请求。所以我们这样操作(在cygwin虚拟环境下):

cd e:/kuaipan/phalcon
git init --bare

步骤3.
创建本地的版本库,假设在 e:/workspace/phalcon_local 创建

cd e:/workspace
git clone e:/kuaipan/phalcon phalcon_local

步骤4.
开发,并提交

cd e:/workspace/phalcon_local
touch index.html
git add . && git commit -m "add index.html"
git push e:/kuaipan/phalcon master

我们在本地工作区创建了一个index.html,并提交到本地库(git commit),之后我们将本地版本库推送到“远程仓库中”(git push)。

步骤5.
假设到家了,我们打开快盘,将快盘中的目录phalcon同步到本地,相当于把公司的远程库拷贝了一份,假设同步到了 d:/kuaipan/phalcon
然后到工作区

cd d:/workspace
git clone d:/kuaipan/phalcon phalcon_local
cd phalcon_local
......
git add . && git commit -m "---over---"
git push d:/kuaipan/phalcon

我们在家里完成了一些工作,最后同样push到了远程仓库,远程仓库发生了一些变化,会自动同步到快盘里。

步骤6.
第二天到公司,重复步骤5类似的操作。

git用网盘做版本仓库,实现异地同步[待验证]