Git基础概念
1、什么是 Git
Git
是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!
二、Git 的特性
Git 之所以快速和高效,主要依赖于它的如下两个特性:
直接记录快照,而非差异比较
近乎所有操作都是本地执行
1、SVN
的差异比较
传统的版本控制系统(例如 SVN
)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异
好处:节省磁盘空间
缺点:耗时、效率低
在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件
2、Git
的记录快照
Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git
不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
缺点:占用磁盘空间较大
优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
特点: 空间换时间
例子:盖房子
第一年:地基
第二年:地基、一层
第三年:地基、一层、二层
第四年:地基、一层、二层、三层
3、近乎所有操作都是本地执行
在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息
特性:
1、断网后依旧可以在本地对项目进行版本管理
2、联网后,把本地修改的记录同步到云端服务器即可
三、Git中的三个区域
使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库
通俗的理解:
当前开发的的项目里面有三个区域
工作区:当前在写的代码
暂存区:写完的代码,临时存储(不会在Git留有记录)
Git仓库:所有的代码都写完了,提交代码到仓库(在 Git 留痕了)。
例子:
图书馆归还图书
在家看书(工作区)-> 图书馆吧台归还(暂存区)-> 图书馆书架(git仓库)
四、Git
中的三种状态
1、已修改 modified
表示修改了文件,但还没将修改的结果放到暂存区
2、已暂存 staged
表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中
3、已提交 committed
表示文件已经安全地保存在本地的 Git 仓库中
4、注意:
1、工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。
2、如果文件已修改并放入暂存区,就属于已暂存状态。
3、如果 Git 仓库中保存着特定版本的文件,就属于已提交状态。
五、基本的 Git
工作流程
1、在工作区中修改文件
2、将你想要下次提交的更改进行暂存
3、提交更新,找到暂存区的文件,将快照永久性存储到 Git 仓库
注意:这也是,多人协同开发提交代码的一个流程。