使用网盘(Dropbox/Google Drive)同步Git仓库

还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了。使用Github 倒是一个非常不错的替代方法。但无论是基于什么理由都有可能不想把代码公开(毕竟Github免费账户是无法建立Private Repository)。建立Private Repository?Bitbucket免费账户同样有私有的仓库。不过,在云概念满天飞的时代,免费网盘满大街随手都可以捡到一个。为何不能使用网盘来保存Git项目文件?

网盘选择

对于网盘的要求无非是免费、量大(免费还要量大?用户真是太苛刻了)以及安全可靠。首推的当然是口碑极佳的Dropbox,但由于某些原因导致Dropbox的客户端下载有些技术难度,庆幸的是同步没有问题,但与国内网盘相比速度上可能稍差。另外一个不错的选择是Google Drive,免费15G,可靠性有保证。除此之外,理论上只要支持以「.」开头的文件的网盘都可以用来同步Git项目。

具体设定

做法分为三步:初始化本地Git仓库;在网盘中新建一个空的Git仓库;设定网盘中的Git仓库为远程仓库。具体操作步骤如下:

  1. 初始化本地Git仓库

    cd ExampleProject # 定位到项目目录中
    git init # 本地Git仓库初始化
    git commit -a -m "Initial Commit"  # 初次提交,本地仓库创建完成
    
  1. 在网盘中新建一个空的Git仓库

    cd CloudStorage # 定位到网盘所在目录CloudStorage下 
    git init --bare ExampleProject.git # 新建空的Git仓库
    
  1. 将网盘中的Git仓库作为远程仓库

    cd ExampleProject # 定位到项目目录
    git remote add cloud CloudStorage/ExampleProject.git # 添加远程仓库
    git push -u cloud master # 推送本地修改到远程修改
    

设定完成。

多台设备同步

其他设备上需要进行项目的修改时,首先使用网盘同步网盘的数据,假设网盘地址在d:/Documents/GoogleDrive。然后再clone项目到本地,clone的操作与cloneGithub上的项目大同小异(仓库地址不同):

git clone file:///d:/Documents/GoogleDrive/ExampleProject.git ExampleProject

上面的代码将checkout网盘中的项目,然后放在ExampleProject目录下。
当在此台上修改了本地的代码并提交到本地仓库后,推送修改到远程仓库(网盘中的仓库),再让网盘进行同步,最后在其他机器上fetch/pull即可。

0%