话说有将近一年没更新过博客了。惭愧。今天整理下 Git, GitHub和GitLab这三个名词的概念,虽然经常用GitHub,但是其实对于这些概念还是有些混淆。
一、Git
Git是一种版本控制系统,是一个命令和工具。
Git是一个开源的分布式版本控制系统(Version Control System),它没有中央服务器的概念,用户需要修改某个文件时,必须把代码仓库完整地镜像下来而不是只提取某一部分文件。相当于每个人的电脑都是一个完整的版本库,这样的话,任何一处协同工作的服务器出现故障,都可以用任何一个镜像出来的本地仓库恢复。因为在Git中每次提取,都是对代码仓库的一次完整备份。并且,即便在网络环境比较差的情况下也不用担心,因为版本库就在本地电脑上。
二、GitHub和GitLab
区别和联系:
- Github和Gitlab等产品都是第三方基于Git这项技术开发的,都是提供Git存储库托管服务的产品。
- GitLab拥有GitLab CE(开源)和GitLab EE(企业版),以及GitLab.com(GitLab CE由公司托管和管理)。类似地,GitHub有GitHub Enterprise和GitHub.com。
- 截至目前,github.com和gitlab.com都有(几乎)类似的功能。只有特征的命名可能有点不同。
- GitLab的主要优点是它的开源特性,它允许在自己的服务器上运行GitLab。 GitLab允许免费使用无限的私有存储库,一般用于在企业、学校等内部网络搭建git私服。而对于GitHub,它不是免费的。
- GitLab比GitHub新,所以GitHub事实上更受欢迎。