细数国内代码协作平台

摆地摊
• 阅读 35363

以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 在此开的博客 了解详情。


欢迎分享使用这些平台的体验!你可以直接在下面评论。

撰文 SegmentFault

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Easter79 Easter79
3年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
摆地摊
摆地摊
Lv1
还将两行泪,遥寄海西头。
文章
3
粉丝
0
获赞
0