使用网盘建造Git私有仓库

Github是个好东西,但是好东西也有缺点,那就是免费用户不能使用私有库,我们不可能将所有的代码都设为共享,毕竟有些东西我们只是为了给自己使用,那么怎样才能既使用Git来管理自己的代码版本,又能使其在备份到网络上,且是私有的。这时候我们就要靠网盘了~

目前市面上的网盘可以说是各种各样,国外比较知名的有Dropbox,Google Drive,Sky Drive,国内的更是各大互联网厂商都有自己的网盘,百度云,快盘,酷盘,360网盘等等。在网盘的选择上,还是要看个人喜好,总体而言,从知名度和安全度上来讲,国外网盘有比较大的优势,切覆盖系统平台齐全,但是由于国内的网络环境,国外网盘能在国内使用的少之又少,如果不借助点工具,是基本使用不了的,这个时候只能选择国内的网盘。国内网盘本人使用的是金山快盘,原因就是容量大,且使用时间比较长, 各方面也还算满意。这里就讲一下如何利用金山快盘建立Git私有仓库。

我们先来简单看一下Git放工作原理。如下图所示

Alt text

从上图我们可以看到本地的repository保存着Git提交的变更信息,而push操作便是将其推送到云端。利用网盘建立私有云的原理很简单,就是将repository建立在网盘的同步目录内,通过网盘的同步作用将其变更信息保存在云端,如同下图所示

首先在网盘的同步目录中建立repository

1
2
3
4
5
6
cd ~/KuaiPan        #进入网盘同步目录
mkdir repo #建立仓库根目录,以后每个项目的单独仓库都建在此目录下
cd repo #进入仓库根目录
mkdir [name].git #建立项目仓库,[name]为项目名称
cd [name].git
git init --bare #初始化git仓库

这里要注意一下git init --bare,其含义是建立没有工作区的仓库,也就意味这个仓库下只有变更信息共享使用,而不会存在工作目录。以上目录建好以后,起作用已经跟GitHub差不多了。我们只需将所有的推送都指向这个目录,就可以实现网端对其同步了。

接着正常的建立工作目录。

1
2
3
4
cd ~/workspace      #切换到工作空间
mkdir [name] #建立项目目录
cd [name] #切换到项目目录
git init #初始化

将在网盘同步目录中的仓库链接到Git Server

1
2
3
4
5
git add .
touch READM.md
git commit --all -m "Initial commit"
git remote add LocalGit ~/KuaiPan/repo/[name].git/
git push LocalGit master

提交成功后,等到网盘同步完成后,Git仓库便会保存到云端了,间接的实现了Git私有库的建立,很好很强大!

参考文章: