登录 |  注册
首页 >  编程测试工具 >  Git 专题学习教程笔记 >  github、gitlab和gittee的区别

github、gitlab和gittee的区别

  • Git        是一种版本控制系统,是一个命令,是一种工具,有点像cmd(命令行工具)。

  • Github  是全球最大的面向开源及私有软件项目的托管平台,免费注册并且可以免费托管开源代码。一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱。

  • Gitlab   类似 github,也是属于第三方基于Git开发的产品,不同的是:GitLab可以部署在自己的服务器上,代码数据都是掌握在自己手中,适合公司内部团队开发。

  • Gitee    即码云,是 oschina 免费给企业用的,不用自己搭建环境,可以建立自己的私有仓库。

  • Git-ce   是社区版,gitlab-ee是企业版,收费的。


1)关于git,github ,gitlab的细微区别

  1. git 是版本控制工具。

  2. github和gitlab都是基于git仓库的web开发流程代码托管平台

  3. github和gitlab两者的区别是github有私有仓库和共有仓库,私有仓库一般收费gitlab打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。

  4. gitlab不仅有github的功能,还有更多的优秀特性,比如权限设置。一般企业内部软件产品用gitlab是更好的选择,如果是开源产品,一般放在github上

  5. github、gitlab是基于web的Git repositories(仓库)。

  6. gitlab模仿github,gitlab拥有github拥有的一切,还拥有更多的安全性和灵活性。

  7. gitlab拥有github拥有的一切,但他拥有更多——让团队对它们的repositories拥有更多的控制

gitlab的特色

非常便捷的用户界面,在同一界面上获取到:projects,最近的projects,用户,最近的用户,群组和状态;允许设置仓库权限是公用的还是私有的;“Snippet support”让用户分享一个project的部分代码,而不是整个project。受保护的分支是一种提升代码安全性的新方法,它们允许用户设置project的获取权限,所以一个团队中只有特定的人可以push,forcepush或者删除一个分支的代码。Authentication levels更进一步的提升安全性,允许用户给人读写以外的权限。举例来说,你可以给一个组员跟踪变动的权限却不给他获取代码的权限。你可以设置获取到团队的整体的改进进度,而不是你个人的进度。开发者通过打上“仍在进行中”状态标签让其他成员知道代码没有完成,从而阻止未完成的代码合并到其他的代码中“innersourcing”公司的资源如果员工不再权限范围内,将不知道这个资源的存在。


2)git 与 SVN 区别

git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 git 提供的一些概念和特征。

git 与 SVN 区别点:

git 是分布式的,SVN 不是:这是 git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。2、git 把内容按元数据方式


3)依据团队或个人使用场景,使用不同的平台

Github与Gitee的对比

Github与Gitee是一类,在云端。区别是Github是国外的,Gitee是国内的。二者的使用需要借助Git。

git.jpg


上一篇: Git是什么?
下一篇: Git可视化工具SourceTree的安装和使用
推荐文章
  • 在IntelliJIDEA中,要根据数据库表直接生成对应的DataObject(DO)类,可以利用其内置的 DatabaseTools 功能,特别是其中的 JPABuddy插件 或者 ReverseEngineering(逆向工程) 功能。这里提供两种方法供您参考:方法一:使用JPABuddy插件J
  • 说到分支管理模型,令人最为熟悉的莫过于TrunkBased和GitFlow。TrunkBased模型是持续集成思想所崇尚的工作方式,它由单个master分支和许多release分支组成,每个release分支在特定版本的提交点上从master分支创建出来,用来进行上线部署和Hotfix。在Trunk
  • 在IntelliJIDEA(简称IDEA)中,如果你想避免导入星号(*)的方式引入包中的所有类,可以在设置中调整IDE的行为,使其遵循更严格的代码风格规范。虽然Java允许使用import*形式的静态导入(例如importstaticjava.util.Arrays.*;),但通常建议尽量明确导入所
  • 随着软件开发项目越来越庞大,代码管理的难度也越来越大,特别是在团队协作中。Git作为目前最流行的代码版本控制工具之一,可以帮助我们高效地管理代码版本,并且很容易集成到团队的工作流中。在Git中,我们经常会遇到需要将新增的文件夹排除在Git的库之外的情况。这些文件夹可能是临时生成的文件夹、缓存文件夹或
  • 1.迁移已有的Gitlab代码仓库存储目录gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。例如,我这里把数据存放到/data/gitlab目录下,创建/data/gitlab
  • 编辑辑/etc/gitlab/gitlab.rb修改如下:external_url "http://gitlab.example.com"例如本人设置的如下:external_url 'http://gitlab.yukx.com'设置完成之后:重置配置sudo gitlab-ctl reconfi
学习大纲