还在使用老掉牙的U盘搬运代码(文件)的方式,从一台机器上复制后,粘贴到另一台机器上?太Out了。使用Github 倒是一个非常不错的替代方法。但无论是基于什么理由都有可能不想把代码公开(毕竟Github免费账户是无法建立Private Repository)。建立Private Repository?Bitbucket免费账户同样有私有的仓库。不过,在云概念满天飞的时代,免费网盘满大街随手都可以捡到一个。为何不能使用网盘来保存Git项目文件?
网盘选择
对于网盘的要求无非是免费、量大(免费还要量大?用户真是太苛刻了)以及安全可靠。首推的当然是口碑极佳的Dropbox,但由于某些原因导致Dropbox的客户端下载有些技术难度,庆幸的是同步没有问题,但与国内网盘相比速度上可能稍差。另外一个不错的选择是Google Drive,免费15G,可靠性有保证。除此之外,理论上只要支持以「.」开头的文件的网盘都可以用来同步Git项目。
具体设定
做法分为三步:初始化本地Git仓库;在网盘中新建一个空的Git仓库;设定网盘中的Git仓库为远程仓库。具体操作步骤如下:
初始化本地Git仓库
cd ExampleProject # 定位到项目目录中 git init # 本地Git仓库初始化 git commit -a -m "Initial Commit" # 初次提交,本地仓库创建完成
在网盘中新建一个空的Git仓库
cd CloudStorage # 定位到网盘所在目录CloudStorage下 git init --bare ExampleProject.git # 新建空的Git仓库
将网盘中的Git仓库作为远程仓库
cd ExampleProject # 定位到项目目录 git remote add cloud CloudStorage/ExampleProject.git # 添加远程仓库 git push -u cloud master # 推送本地修改到远程修改
设定完成。
多台设备同步
其他设备上需要进行项目的修改时,首先使用网盘同步网盘的数据,假设网盘地址在d:/Documents/GoogleDrive。然后再clone
项目到本地,clone
的操作与clone
Github上的项目大同小异(仓库地址不同):
git clone file:///d:/Documents/GoogleDrive/ExampleProject.git ExampleProject
上面的代码将checkout
网盘中的项目,然后放在ExampleProject
目录下。
当在此台上修改了本地的代码并提交到本地仓库后,推送修改到远程仓库(网盘中的仓库),再让网盘进行同步,最后在其他机器上fetch
/pull
即可。