免费的Git私有代码托管服务

涉及到与别人协作,需要考虑找个私有的Git托管服务。

Github很有名,也很好用,只是免费版仅能用于开源项目。

经过一番比较,最后选定了两个。

Bitbucket

Atlassian公司的托管服务。

------------------------------ 

 Bitbucket

支持Git、Mercurial,免费版有5个用户限制。公有和私有仓库都可以无限制创建,有协作工具(Issue tracker,Wiki)。

Assembla

支持SVN、Git、Mercurial,免费版,无用户限制,无仓库限制,存储空间1G,没有协作工具(Issue tracker,Wiki等)。

考虑先使用 Bitbucket, 当用户不够用的时候再迁移到 Assembla。

===================================

 Git是目前非常流行的一款分布式版本控制软件,创立者是Linus For Linux,最初就是用来管理Linux Kernel开发的,后来大家伙觉得这玩意儿很好用,就逐渐流行开了。Debian、Perl、Gnome、Android等众多开源项目都采用Git进行版本控制,当然也包括Git本身以及Linux kernel在内。

合作开发一个项目,代码不便公开,而GitHub的免费账户只能建立公共仓库,私人仓库需要交纳每月7$的费用。本着能节约就节约的想法,我开始寻找其他的途径来寄存Git仓库。在本机自行搭建服务器也可以,但是比较麻烦,这时想到了dropbox。

dropbox有一个共享文件夹的功能,可以与他人分享指定的文件夹。这不就是一个现成的在线仓库吗?既方便多机多平台存取,又可以限定访问的人员。说干就干,在google一些资料后,立即开始从零搭建。

我使用的平台是Snow Leopard 10.6.7,至于Linux/Win下面,也是大同小异。分别安装好Git和Dropbox客户端就可以开动了。

首先,在Dropbox中新建一个文件夹并共享给协作者AA,假定该文件夹名字是repo。完成后,我和AA都可以对repo进行存取操作。接下来,打开终端,在repo中初始化一个远程仓库。

1
2
3
4
//我本机同步的dropbox文件夹位于~/Dropbox
 
cd ~/Dropbox/repo    //切换到repo目录
git --bare init      //初始化仓库

初始化git库有两种方式,git init和git --bare init。两者区别在于,执行git init将在当前目录下建立一个.git目录存放git库,当前目录则作为工作目录存放工程文件;而--bare参数则是将当前目录用做git库目录,而不再建立一个.git子目录。一般在本地初始化仓库使用git init,而初始化远程仓库则加上--bare参数。因为远程仓库一般只是用来存放git库而已,没人会在远程仓库中进行check out或者编辑文件等操作。

第二步,将项目添加到Git库。

1
2
3
4
5
6
//假定我的工程目录位于~/MyProject
 
cd ~/MyProject      //切换到工程目录
git init            //在当前目录下初始化一个本地Git库
git add .           //将当前目录下所有文件添加到索引
git commit -m "first commit"     //提交

好了,现在MyProject下的所有文件都已被纳入Git的管理中。接下来还是在~/MyProject目录下,执行以下命令:

1
2
3
4
5
//将~/Dropbox/repo添加为远程仓库,别名叫做droprepo
git remote add droprepo file://$HOME/Dropbox/repo   
 
//将本地仓库master分支push到远程仓库
git push droprepo master

OK,现在打开~/Dropbox/repo,你会发现~/MyProject下的所有文件都已经更新到Git库中。你可以在任何同步了你的dropbox的地方执行下面的命令来clone一份仓库的内容:

1
2
//仓库地址,也就是你机子上同步的dropbox/repo的路径
git clone file://$HOME/Dropbox/repo

当然,共享了repo文件夹的协作者AA也可以在他的机器上执行上述命令来获得仓库内容。然后按照Git方式正常进行开发即可,在完成所有更新提交后,记得git push到远程仓库就可以了。

posted @ 2012-05-20 00:55  大自然的流风  阅读(25077)  评论(0编辑  收藏  举报