Git
初识Git
1.什么是Git?
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统。
Git 与常用的版本控制工具 CVS, SVN(集中式版本控制方式)等不同它采用了分布式版本库的方式,不用服务器端软件支持。
2.集中式版本控制和分布式版本控制的区别?
1)集中式版本控制系统,都有一个单一的集中管理的服务器,简称中央服务器,保存所有文件的修订版本,而协同合作的开发人员都通过客户端连接到这台服务器,取出
最新的文件或者提交更新。集中式版本控制系统必须联网才能工作,所以对于网络环境比较差的情况使用集中式版本控制系统会让人比较头疼。
2)分布式版本控制系统没有集中管理的服务器,其版本库是把代码仓库完整地镜像下来,相当于每个人的电脑都是一个完整的版本库,所以任何一处协同工作的服务器出现故障,都可以
用任何一个镜像出来的本地仓库恢复。网络环境差也没有什么影响,因为版本库就在本地电脑上。
简而言之,分布式版本控制系统下的本地仓库包含代码库还有历史库,在本地就可以查看版本历史;
而集中式版本控制系统下的历史仓库是存在于中央仓库,每次对比与提交代码都必须连接到中央仓库。
3.Git的特点
- Git 易于学习, 占地面积小,具有闪电般的快速性能;
- 它具有诸如Subversion,CVS,Perforce和ClearCase之类的SCM工具;
- 它具有廉价的本地分支,便捷的暂存区域和 多个工作流等功能。
4.Git、GitHub、GitLab三者之间的联系以及区别
GitHub 和 GitLab 都是基于 web 的 Git 仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,
为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
(1)Github是在线的基于Git的代码托管服务。GitHub 作为开源代码库,拥有超过 900 万的开发者用户,目前仍然是最火的开源项目托管平台;
GitHub 同时提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。GitLab 解决了这个问题,你可以在上面创建私人的免费仓库。
(2)GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比较 GitHub , 它有不少特色:
- 允许免费设置仓库权限;
- 允许用户选择分享一个 project 的部分代码;
- 允许用户设置 project 的获取权限,进一步提升安全性;
- 可以设置获取到团队整体的改进进度;
- 通过 innersourcing 让不在权限范围内的人访问不到该资源;
所以,从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。
GitLab更适合企业级使用,为企业搭建GitLab软件版本管理服务器
Git全平台版:git-scm.com
GitLab:https://about.gitlab.com/
GitHub: https://github.com/