git,github,gitlab和码云的区别
相关概念
1.git的概念
git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
git 由Linus Linus花了两周时间自己用C写了一个分布式版本控制系统,在2008 正式上线。(这里和Linux有一段黑历史)。
2.github的概念
github(github.com/)是一个面向开源及私有…
作为唯一的版本库格式进行托管,故名GitHub。
github于2008年4月10日正式上线,除了Git代码仓库托管及基本的
Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目
Ruby on Rails、jQuery、python 等。
2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。
2019年05月,《个人电脑杂志》网站报道,GitHub正遭到一名黑客的入侵。据称,这名黑客先擦除代码资源库,然后向用户索要赎金,作为恢复数据的交换。
3.gitlab的概念
gitlab (about.gitlab.com/)是一个用于仓库管理系…
在github被收购同时,紧接着又推出了gitlab,功能和gitlab 几乎一样,而且更全。而且gitlab 可以搭建自己的服务器。
可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。
可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
4.码云的概念
码云(gitee.com/enterprises…) 是开源中国社区推出的基于git的代码托管服务平台,基于gitlab。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台。
细微区别
1.关于git,github ,gitlab的区别
git 是版本控制工具。
github和gitlab都是基于git仓库的web开发流程代码托管平台。
两者的区别是github有私有仓库和共有仓库,私有仓库一般收费,gitlab打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。
gitlab不仅有github的功能,还有更多的优秀特性,比如权限设置。一般企业内部软件产品用gitlab是更好的选择,如果是开源产品,一般放在github上。
2.git与github
git(git-scm.com/)是一个版本控制工具
github是一个用git做版本控制的项目托管平台。
3.码云与 github 的对比
优点:码云的服务器在国内,在国内访问速度比github快很多,可以免费让自己的仓库他人不可见,但是否安全就不知道了。访问速度很快,支持svn,git两种方式,免费账户同样可以建立
私有项目,而 github 上要建立私有项目必须 付费。
缺点:每个仓库有1G的容量限制,把Unity工程弄上去一下就超了。
4.git和github、gitlab
github、gitlab是基于web的Git repositories(仓库)。
gitlab模仿github,gitlab拥有github拥有的一切,还拥有更多的安全性和灵活性。
gitlab拥有github拥有的一切,但他拥有更多——让团队对它们的repositories拥有更多的控制
5.gitlab的特色
非常便捷的用户界面,在同一界面上获取到:projects,最近的projects,用户,最近的用户,群组和状态;允许设置仓库权限是公用的还是私有的;“Snippet support”让用户分享一个project的部分代码,而不是整个project。受保护的分支是一种提升代码安全性的新方法,它们允许用户设置project的获取权限,所以一个团队中只有特定的人可以push,forcepush或者删除一个分支的代码。Authentication levels更进一步的提升安全性,允许用户给人读写以外的权限。举例来说,你可以给一个组员跟踪变动的权限却不给他获取代码的权限。你可以设置获取到团队的整体的改进进度,而不是你个人的进度。开发者通过打上“仍在进行中”状态标签让其他成员知道代码没有完成,从而阻止未完成的代码合并到其他的代码中“innersourcing”公司的资源如果员工不再权限范围内,将不知道这个资源的存在。
6.git 与 SVN 区别
git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 git 提供的一些概念和特征。
git 与 SVN 区别点:
1、git 是分布式的,SVN 不是:这是 git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。2、git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。3、git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。4、git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。5、git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
windows搭建gitlab服务器
在win10pc机上搭建gitlab服务器
Windows安装gitlab方法