文章更新
- 20160907-初次成文
- 20161009-更新内容
为什么会有这篇文章
之前一直使用git pull/push来同步代码,因为自己总在两台电脑之间来回切换,有的时候不能及时在一台电脑使用结束的时候及时 git push的话,在另外一台电脑上,就没有最新的代码了。如果结合使用Resilio Sync和Git,发现可以相对完美的解决这个问题,当然,你也可以使用百度网盘或者微云这样的文件同步工具,但是因为Resilio Sync是私有云,没有隐私泄露的风险(不是绝对的),所以还是用了这个方法。
2016年10月9日更新,后来发现这个办法的弊端,就是无法做到实时更改,比如A电脑上的FILEA.C增加了一行,那么B电脑上的同样的文件,如果那边开着电脑,并不会直接更改FILEA.C文件,而是会放到.sync目录下面去,有一个办法就是找一台闲置的机器C充当24小时开机的角色,然后A电脑更新到C上去,然后B开机,B把C上的内容同步过来。是不是感觉很蛋疼?我也觉得是。
方法
方法并不难,首先搭建好Resilio Sync,把所有你需要管理的代码扔进去这个目录,然后在另外一台电脑上,添加这个共享的目录即可。经过试验,在一台电脑上建立一个新文件之后,几秒钟之后,就会出现在另外一台电脑的相应位置上。
你问我这样做有什么好处?不用记得push/pull了呗,之前甚至想使用git当云盘,但是如果编辑了超过1个GIT REPO,那么每次离开一台电脑之前,每个REPO都要PUSH,实在是影响体验。最理想的状态,还是像以前看到过的一篇文章里描述的MIT还是斯坦福大学的公共电脑,插上你的电子ID卡使用,拔掉之后,电脑锁定,然后将卡插到任何一台其他电脑上,电脑恢复到你在另外一台电脑上离开的状态。这才是我心中的理想状态,不过有使用云盘来同步代码,只要网络畅通的情况下(在目前的条件下,并不是太大的问题),所有的文件都能在几秒之中被同步,而且因为主要改变的都是代码文件,生成的那些文件,可以忽略掉,也缩短了同步的时间,提高了体验。
就像上面说的那样,如果是用来同步没有存在的照片或者电影,Resilio Sync很适合,但是对于代码这种变化非常细微的文件来说,我还是最终选择了VSCODE自带的GIT管理功能,省去了我在命令行界面下频繁的敲。说白了,又回到了GIT的路上来,现在就是每次切换到一台电脑上的时候,先点PULL,然后噼里啪啦,然后写更改理由,然后CTRL+ENTER,再然后点PUSH,这样3个步骤,就完成了代码的云端化。而且图形化界面,心理要踏实一些。
其他实时同步工具
在GOOGLE上搜索的时候,发现了一个项目,名字是GUT,项目地址戳这里,从说明可以知道,这个作者就是为了方便自己在家编程的时候,可以实时同步两台开着的电脑而写的这个小项目。应该值得一些人尝试。