免费的Git私有代码托管服务
涉及到与别人协作,需要考虑找个私有的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中初始化一个远程仓库。
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到远程仓库就可以了。
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道