涉及到与别人协作,需要考虑找个私有的Git托管服务。
Github很有名,也很好用,只是免费版仅能用于开源项目。
经过一番比较,最后选定了两个。
Atlassian公司的托管服务。
------------------------------
支持Git、Mercurial,免费版有5个用户限制。公有和私有仓库都可以无限制创建,有协作工具(Issue tracker,Wiki)。
支持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中初始化一个远程仓库。
我本机同步的dropbox文件夹位于~
/Dropbox/repo
切换到repo目录
初始化仓库
初始化git库有两种方式,git init和git --bare init。两者区别在于,执行git init将在当前目录下建立一个.git目录存放git库,当前目录则作为工作目录存放工程文件;而--bare参数则是将当前目录用做git库目录,而不再建立一个.git子目录。一般在本地初始化仓库使用git init,而初始化远程仓库则加上--bare参数。因为远程仓库一般只是用来存放git库而已,没人会在远程仓库中进行check out或者编辑文件等操作。
第二步,将项目添加到Git库。
假定我的工程目录位于~
/MyProject
切换到工程目录
在当前目录下初始化一个本地Git库
将当前目录下所有文件添加到索引
//
2
4
将~
添加为远程仓库,别名叫做droprepo
git remote add droprepo
:
$HOME
//
|
当然,共享了repo文件夹的协作者AA也可以在他的机器上执行上述命令来获得仓库内容。然后按照Git方式正常进行开发即可,在完成所有更新提交后,记得git push到远程仓库就可以了。