背景
上一篇使用gitee托管项目遇到的问题时,我就好奇,为啥我要用gitee来托管项目呐???
来了解一下git、gitlab与github的区别
Git
Git 是一个开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。易于学习,占地小,具有闪电般地快速性能; Git官网,点击了解发家史
GitHub
GitHub 是一个面向开源以及私有地软件项目托管平台,因为只支持git作为唯一地版本库格式进行托管,故名GitHub。GitHub官网
GitLab
Gitlab是一个用于仓库管理地开源项目,使用git作为代码管理工具,并再次基础上搭建起来地web服务。安装方法是参考GitLab在GitHub上的Wiki页面。GitLab官网
三者区别如下
- Git是一种版本控制系统,是一种工具,用于代码地存储和版本控制
- GitHub是一个基于git实现地在线代码仓库,是目前全球最大地代码托管平台,方便程序员之间的交流和学习
- GitLab 是一个基于git实现地在线代码仓库软件。你可以使用GItLab自己搭建一个类似于GitHub一样的仓库。GitLab有完整的管理界面和权限控制,一般也用于企业、学校等内部搭建网络私服
- GitHub和GitLab两个都是基于Web的git远程仓库;都是提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。 从代码的私有性来看,GitLab是个更好的选择;但是对于开源项目来说,GitHub依然是代码托管的首选
写在最后
一开始别人问我区别时,我还懵逼,不过结合上面的了解,发现豁然开朗,因为我们公司就是使用GitLab搭建了一个内部的私服,并且各种权限分配、项目部署一条龙都有了。结合使用Gitee时,又区分deploy key和public key,大致理解为在使用内部GitLab时配置的ssh密钥,应该是被搭建公司GitLab的大神们拿去配置你的账户在私服上的权限了,从而来控制你的账户权限。在我们的私服上就可以看到每一个项目都有用户设置->用户,这里就可以看到自己的权限了,==Owner?reporter?developer?Maintainer?==当然这也是我自己的理解,并未跟公司大神去验证