一、Git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce 和ClearCase等版本控制工具。

二、版本控制的概念

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。 体现了个人到团队协作的过程。

三、版本控制工具

一、集中式版本控制工具

集中式的版本控制系统,例如CVS、SVN等,都有一个单一的集中管理的服务器,保存着文件的修改版本。团队协作的人可以通过客户端连接到此服务器,更新或下载文件。
每个人可以在一定程度上看到项目中的其他人正在做什么,管理员也可以掌握每个开发者所拥有的权限,还可以集中的管理文件,比在用每个客户端维护本地数据库要容易很多。
假如中央服务器单点故障,则无法上传或者下载。

二、分布式版本控制工具

分布式版本管理工具(如git),客户端提取的不是最新版本的快照,而是把代码仓库完整的镜像下来,这样任何一处协同工作用的文件发生故障,时候都可以用其他客户端的本地仓库进行恢复(每个客户端的提取,都相当于对文件仓库的备份)。
分布式版本控制解决了集中式管理的缺点:
1.可以在断网的情况下开发(版本控制在本地进行)。
2.客户端保存的是完整的项目(包含历史纪录)。

四、Git工作机制

image.png

五、代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,简称远程库。
image.png