Git简介
1 Git概念
Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。
本质:项目开发的管理工具,使用Git可以方便的完成团队的协作开发。以及项目
开发过程中的资源管理。
分布式的概念:
我们目前开发一个功能,是在一个项目中将功能进行实现。然后将开发好的功能部署到tomcat服务器中,对外进行服务。但是呢在实际的应用场景中,有很多的用户都会访问我们的功能,造成我们的服务器压力过大。于是我们对服务器进行水平扩容。搭建很多的服务器,每个服务器都在运行我们的功能。比如:查询账户余额的功能,如果我们此功能只部署在一个服务器中运行,有一亿个用户来访问,造成服务器崩溃。我们搭建N个服务器,同时运行我们的查询功能,用户请求任意服务器都可以处理其请求。但是呢,我们还需要一个特殊的服务器,该服务器不对外进行功能的服务器,而是根据用户的请求,将用户的请求分发到对应的空闲的服务器来处理,避免单个服务器的拥堵。但是我们的一个系统是由很多的
功能组成,根据上面的理论,我们将系统中的某个功能搭建了多台服务器提供服务器,那么
系统的其他功能怎么办呢?因为其他的功能不是高并发的,无需水平扩容,将系统拆分为
多个子功能,每个功能都可以独立的运行在服务器中,并提供服务器。相较于我们以前
将一个系统中的所有功能部署到一个服务器,变为将系统功能拆分后,部署到N个服务器中对外提供访问,并且可以根据高并发的需求,都某个功能的服务器进行水平扩容。此种
方式就是分布式。
总结:
分布式:就是将由一个服务器运行的资源,拆分到多个服务器中运行。
2 其他常见的版本控制工具
Subversion(简称SVN)、CVS等
3 版本控制工具的作用
协同修改
多人并行不悖的修改服务器端的同一个文件。
数据备份
不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。
权限控制
对团队中参与开发的人员进行权限控制。
对团队外开发者贡献的代码进行审核——Git 独有。
历史记录
查看修改人、修改时间、修改内容、日志信息。
将本地文件恢复到某一个历史状态。
分支管理
允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
4 集中式版本控制工具及分布式版本控制工具示意图
集中式版本控制工具示意图
分布式版本控制工具工作示 意图
1 Git官网
logo:
1 Git 的优势
大部分操作在本地完成,不需要联网
尽可能添加数据而不是删除或修改数据
分支操作非常快捷流畅
与 Linux 命令全面兼容
2 Git 和代码托管中心
代码托管中心的任务:维护远程库
局域网环境下
GitLab 服务器
外网环境下
GitHub
码云(gitee)