常用Git代码托管服务分享
Git Repository代码托管服务越来越流行,目前有很多商业公司和个人团队逐渐切换项目到 Git平台进行代码托管。本文分享一些常用的Git代码托管服务,其中一些提供私有项目保护服务,特别有利于远程团队协作开发项目使用。
GitHub
目前最流行的Git服务,也是人气最旺盛的Git代码托管网站。但是私有项目需要付费,个人认为GitHub更适合开源项目使用,很多开发人员在这个平台上分享开发经验,同时协作完成项目。
GitLab
GitLab是值得推荐的一款代码托管网站,该项目是由开源项目GitLab.Org衍生而来(MIT),支持免费私有项目代码托管,该项目是基于Ruby on Rails, 支持10人开发团队,无限私有代码托管库服务。
在使用过程中,发现很多好用的功能,例如代码对比,bug追踪等。不仅如此, 该网站还支持免费SaaS服务GitLab Cloud。
Bitbucket
同时值得推荐的是Bitbucket, 免费支持5个开发成员的团队创建无限私有代码托管库。
CodePlex
CodePlex是由微软推出的代码托管服务,早期仅支持TFS,现在已经支持Git和Mercurial。该网站集合大量微软开发项目,适合从事微软开发技术人员使用,目前不支持私有项目。
CloudHost
http://cloudhost.io/
刚推出的云端代码托管服务,免费提供1000个私有代码托管库,无限公用代码托管库,无限空间,值得推荐。
CloudBees
提供免费Git和SVN代码托管服务,免费2G空间。
Assembla
提供一个免费3人团队的私有代码托管服务,有Email通知服务。空间为500M。
GitCafe GitBlit Codeplan planio ProjectLocker Unfuddle GitHub Enterprise Trac Gitorious
最后对比目前较为流行的Git托管服务,
补充:国内的Git服务
程序员必须知道的几个Git代码托管平台
原文 http://www.cnblogs.com/yunfeifei/p/4209625.html
一、VS2013中克隆远程Git仓库和SSH的配置
1、VS2013中克隆远程项目
首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的,所以没有注意到。我们打开VS2013,切换到团队资源管理器,如图:
点击连接到团队项目...,会看到如下图界面:
点击克隆,输入远程Git地址,然后点击克隆按钮,就会将远程仓库的项目克隆到本地,路径为下面文本框中的地址,我们也可以点击后面的...按钮进行修改或者手动输入。
2、SSH的配置
如果安装了Github客户端,GitHub客户端会自动的配置SSH。下面我们来说一下自己配置SSH,首先单击鼠标右键,打开Git Bash here,打开Git命令窗口,如图:输入命令:
ssh-keygen -t rsa -C "your_email@youremail.com"
点击回车,出现如下提示:
这个时候我们看到询问我们保存key的路径,使用默认即可,直接敲回车继续,这里我已经生成过了,所以我输入了新的路径和文件名,回车后会让输入两次密码(passphrase),输入一个大于4位的密码即可。然后会看到SSH生成成功,如图:
二、推荐几个常用的Git代码托管平台
说到Git代码托管平台,首先推荐的是GitHub,好多好的开源项目都来自GitHub,但是GitHub只能新建公开的Git仓库,私有仓库 要收费,如果你做的是一个开源项目,可以首选GitHub。下面推荐几个比较好的Git代码托管平台,这里我不做过多的说明和评价,也好让大家多看看,比 较一下,找到自己的"真爱"。
1、GitHub
关于GItHub相信大家都有耳闻,我就不详细介绍了。GitHub地址:https://github.com/,其首页如图:
2、Gitlab
对于有些人,提到GitHub就会自然的想到Gitlab,Gitlab支持无限的公有项目和私有项目。Gitlab地址:https://about.gitlab.com/,其首页截图如图:
3、Bitbucket
bitbucket 免费支持5个开发成员的团队创建无限私有代码托管库 。bitbucket地址:https://bitbucket.org/,首页如图:
4、(推荐)开源中国代码托管
前面说的都是国外的,下面来说几个国内的。开源中国一个账号最多可以创建1000个项目,包含公有和私有,开源中国代码托管地址:http://git.oschina.net/,其首页如图:
开源中国在几个月前又发布了团队协作开发平台,和代码托管平台一起,打造了一个十分好的团队开发平台,开源中国团队协作平台地址:http://team.oschina.net/,团队协作平台支持任务的创建、讨论、便签等,如图:
5、(推荐)coding.net
谈到coding.net,首先必须提的是速度快,功能与开源中国相似,同样一个账号最多可以创建1000个项目,也支持任务的创建等。coding.net地址:https://coding.net/home.html,其首页如图:
6、CSDN代码托管
CSDN代码托管地址:https://code.csdn.net/,首页如图:
7、京东代码托管平台
京东代码托管平台地址:https://code.jd.com/,首页如图:
说到这里,也差不多了,虽然我不想影响大家的选择,但是还是想表达一下我的看法,我个人比较喜欢GItHub、开源中国、Coding.net这个三个。
三、使用SSH
在上面我们使用Git bash生成了SSH的公钥和私钥,下面以coding.net为例介绍一下如何将公钥部署到远程Git仓库,打开设置中心,如图:
选择SSH公钥,填写公钥名称(可以随意起名字),然后把我们刚刚从id_rsa.pub里面复制出来的东西粘贴到 SSH-RSA公钥key 这个文本框中即可。如图:
添加完成后,我们打开Git命令窗口测试,输入如下命令:
ssh -T git@coding.net
这个时候会提示你是否继续连接,如图:
输入yes,回车继续,会出现如下提示,如图:
如果是开源中国,会提示如下信息:
Welcome to [email protected], your name!
代码托管,哪家强?
开发者服务市场最近突然火爆起来了,各种云服务层出不穷,就以最基本的代码托管服务为例,国内也有好多家,我挑了几家主流的做了一个横向评测,以供各位码农参考。
一、 性能测试
我们用代码托管服务一般有两种访问方式,客户端以及 Web 端。客户端一般用来拉/推代码,在实际测试的过程中发现,客户端操作在不同的服务商那里差异性非常小,所以就没有整理成报告。主要的体验不同在 Web 端。
我分别从北京和广东两个地方进行了一系列常用的 Web 端操作,记录了时间。我选取了10个不同的开源项目,有大有小,对这些项目分别进行同样的操作做对比。测试的数据和过程我全部列出来了,有兴趣的可以用同样的方法在你的环境中测试,我相信得到的数据应该是类似的。
1、测试环境
l 主机:青云主机,2核/2G RAM
l 网络:2Mbps出(由于是服务器,入口带宽应该很大的,具体数据未知)
l 操作系统:Microsoft Windows 2003 R2 32Bits
l 浏览器:Mozilla Firefox 32.0.3
2、测试内容
(1)打开项目的代码目录树
(2)打开项目单个文件查看代码
(3)打开commit列表页
(4)打开commit详情页
3、测试结果
l 地域:北京
(1)打开项目的代码目录树
(2)打开项目单个文件查看代码
(3)打开commit列表页
l 地域:广东
(1)打开项目的代码目录树
(2)打开项目单个文件查看代码
(3)打开commit列表页
(4)打开commit详情页
4、结果说明
l 上述测试结果数据的单位为秒,数值越小越好。
l Coding 的 Commit 详情页的打开速度在图表上基本看不到是因为数值太小(特别是北京),我怀疑跟预先做了相关的缓存有关。
l 由于下行网速比较大,所以传输耗时可以忽略,测试数据可以大致等同于服务器处理并输出数据所用的时间。
l 我不是很能理解为啥 [email protected] 和 csdn 都是用的 gitlab 但是性能差异这么大。
l Github 的数据需要考虑墙的因素。
l 各服务商及不同页面的加载方式对比:
一、功能测试
我这里列出了常用的代码托管服务的功能,做了一个表格,清晰明了。可能有某些功能遗漏,欢迎来信告知。
这里有几点需要说明:
1.私有项目的 Pull Request,Coding.net 是通过 Merge Request 实现的,名字不同,功能一样的。
2.保护分支看起来是 Coding.net 专门为团队协作开发的,某些分支只有某些账户具有写操作,防止开发中的误操作。
3. 兼容 SVN 似乎全世界只有 github 实现了。
4.代码质量分析 Coding.net 和 [email protected] 都是通过 Sonar 实现的,Coding .net 支持的语言多一些,但分析的质量都很一般。
一、结果分析
从
功能性上讲,大家都差不了太多,github 的功能是最全面的,CSDN 和 gitcafe 的功能稍微欠缺一些。从性能上来讲
Coding.net 具有明显的优势,有可能跟 Coding 是用 Java自己开发的有关。据我了解,CSDN 和 [email protected] 是用
gitlab 搭的,Ruby 平台,gitcafe,github 是用 Ruby 自己开发的。我感觉抛开墙的因素,github
的总体数据应该不会比 Coding 差。无意挑起语言之争,只是对这里的性能差异的一个猜测,也有可能是算法优化不同,跟语言平台无关。从前端代码来看
Coding 和 github 都大量采用了 Ajax,对速度和体验也有帮助。
那么,问题来了,代码托管哪家强?