以GitHub为代表的新一代代码协作平台开创了协同开发的新时代。开发者之间基于代码的协作从来没有像今天这样顺畅。GitHub上向你发送合并请求的开发者,可能和你分处大洋两岸,也可能和你同在一间办公室。上个礼拜,GitHub宣布其上托管的git仓库已经突破一千万大关!
国内也有不少代码协作平台,本文介绍国内几个主要的代码协作平台,一起来看看吧。
GitCafe
GitCafe是一个基于代码托管服务打造的技术协作与分享平台,最近刚刚获得景林资产300万人民币天使轮投资。
Git是目前世界上最流行最优秀的项目版本控制系统之一,Cafe的意思为咖啡馆,象征着程序员文化。
GitCafe界面十分简洁清爽,左右分栏的设计,使得浏览仓库代码十分便利。提供工单、wiki和页面服务。支持在线编辑功能,代码的修改、提交和合并请求,都可以在浏览器中完成。GitCafe的公有仓库免费,私有仓库需付费。付费功能使用极特币(gitcoin),是一个很有趣的设计。
GitCafe目前还缺乏Webhook和API功能,因此其他应用或服务要支持GitCafe非常困难。
gitshell
gitshell是基于django开发的git代码协作平台。
GitShell的设计,有一个显著的特点,就是专注于git代码仓库本身,也就是UNIX哲学的“只做一件事,并且把它做好”。虽然GitShell自身不提供维基、工单等项目协作常用的功能,但是GitShell支持webhook,可以与第三方的代码协作应用服务(包括维基、工单等)无缝结合。
GitShell可以直接使用GitHub账号登录,新建项目的时候可以导入其他git仓库,其webhook服务也与GitHub兼容,方便新用户使用和旧项目的迁移。
代码是程序员最宝贵的资产,因此GitShell还提供Dropbox备份。
GitShell上可以免费创建公有和私有项目。
CSDN
code.csdn是CSDN推出的代码协作平台。基于Gitlab搭建,支持维基、工单等功能。
CSDN是国内最大的程序员社区,然而却常常给人老旧、笨重的感觉,总之就是和酷字不沾边。不过code.csdn的设计还不错,特别是它提供了代码片段功能,而且代码片段与CSDN的博客实现了双向绑定,在CSDN的博客中可以很方便地引用code.csdn中的代码片段,同时,在CSDN博客中插入的代码片段也会自动保存到code.csdn。
京东
code.jd是京东(是的,你没看错,就是那个卖东西的京东,他们也开始提供代码托管了……)提供的代码协作平台,功能和界面和CSDN比较接近,应该也是基于Gitlab搭建的。由于功能、设计和CSDN大同小异,这里就不重复介绍了。
CSDN和京东都可以免费创建公开和私有项目。
oschina
oschina的git代码托管服务公开、私有项目均免费,功能也比较全面。oschina支持GitHub、Google、weibo、Windows Live账户登录,比较方便。
oschina刚上线的时候,直接用了GitHub的样式——不是模仿,也不是像素级拷贝,而是字面意义上的“直接用了”,甚至连css中的github
字样也没有修改。
即使是现在,整个oschina的用户界面设计布局也和GitHub十分相像——GitHub用户使用git.oschina,会有强烈的既视感。
除了细节处理没有GitHub精美外,GitHub的各种酷炫的交互设计,比如键盘快捷键操作工单、唤出命令接口等功能oschina都没有采用。
毕加索有一句名言:”Bad artists copy, great artists steal.“(劣工摹其形,巧匠摄其魂。)虽然git.oschina样式布局方面大量拷贝GitHub,但显然没有偷到GitHub界面设计的精髓。
gitcd
gitcd.com是基于gitc的代码协作平台。gitc使用Java开发,技术设计上有一些值得关注的特性,例如:
- gitc的ssh服务使用apache sshd,自行解析upload-pack和receive-pack的报文格式。
- 使用jgit读取git仓库信息。
- 页面展示部分使用了lucene搜索引擎,对每个分支最近一次RevCommit进行索引,该技术的应用,使得gitcd.com上仓库各个分支树在网页上浏览速度平均<200毫秒(实际一般是80毫秒左右)。
gitcd同样支持webhook,还可以设置SMS提醒。gitcd的权限控制粒度较细,可以限制分支提交,对某些流程严格的企业而言十分有用。
gitcd的界面比较简陋,用户注册的流程也很麻烦,注册成功的邮件给出的链接无法访问,而且需要绑定手机才能创建项目。
目前支付宝的团队使用gitcd托管代码,除此以外,gitcd.com上其他的公开项目很少,活跃用户也很少。
svnchina
svnchina于2006年成立,是国内第一家支持私有项目的SVN源代码托管平台。
svnchina的收费策略为项目创建者需交纳年费,项目协作者免费。项目创建者交纳99元的年费后,可创建任意数量的项目,但空间使用不能超过1G.如果需要更多的空间,可以选择更高的年费。
svnchina最初的创始人为冯华君,其开发的FIT输入法曾是中国市场占有率最高的Mac系统第三方中文输入法。
geakit
集盒是2012年推出的基于git的代码协作平台。提供项目、工单等功能。集盒有一个非常方便、有用的特性——项目分组功能,可以通过分组功能对自己创建、参与、关注的项目进行分类。这个分类功能对于组织仓库非常方便。CSDN的代码协作平台在2013年11月底也加上了这个功能。
可惜的是2013年以来集盒的开发趋于停滞。目前,网站引用的css等静态资源已经无法访问,https的证书也已经过期。
TaoCode
TaoCode是淘宝推出的开源项目协作平台。目前bug不少,注册、创建、删除项目常出问题。其上的活跃用户主要是阿里内部人员。
灰狐
2011年,盛大创新院推出免费开源代码托管平台TeamHost,该平台基于Redmine进行二次开发。最初有很多计划,除了常见的代码托管功能外,还希望集成测试、持续构建、freelancer、招聘、IM、微博、P2P等功能。
后来Teamhost项目的所有成员都离开了盛大创新院,于是站点搬到了灰狐社区赞助的服务器上。然而随着团队成员工作的日益繁忙,Teamhost的开发趋于停滞状态,在2013年7月11日正式宣布关闭。
关闭之后,灰狐接手了Teamhost的代码和用户,继续运作。由于teamhost.org域名为盛大所有,而盛大DNS已经停止解析这个域名,所以启用了新域名 code.huihoo.com。
然而灰狐的开发也并不活跃,甚至连注册页面也仍然引用了teamhost旧域名的邮件地址。
Update 后起之秀 Coding.net 值得一试,我的印象是它的迭代速度十分迅猛,有演示平台和代码质量分析(虽然我试下来对 Ruby 的效果很一般),私有仓库免费,有 Android 和 iOS 的客户端(开源的哦!)。以后有时间我会补上相关的评测,目前可以看 Coding.net 在此开的博客 了解详情。