git其实就是一款版本控制系统,该博客就是简单介绍一下什么是git以及git的相关理论
前言:版本控制系统
版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。
什么是版本控制系统
版本控制软件用于记录文件变化,以便将来查阅特定版本修订情况的系统,因此也称为"版本控制系统"
通俗理解就是把手工管理文件版本的方式,改为软件管理文件的版本,这个负责管理文件版本的软件就叫做“版本控制软件”
版本控制系统优点
- 操作简便:使用简单的指令即可使用
- 易于对比:能够方便地比较文件的变化细节,从而查找出导致问题的原因
- 易于回溯:记录了每个时间点的修改,可以轻松返回某个版本
- 不易丢失: 可以找回误删文件
- 协助方便: 提供分支功能,可以轻松实现多人协作开发一个项目
版本控制系统的三种类型
本地版本控制系统
单机运行,使维护文件版本的操作工具化
特点 | 缺点 |
---|
使用软件记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率 | 1.单机运行,不支持多人协作开发 2.版本数据故障后,所有历史更新记录会丢失 |
集中化版本控制系统
联网运行,支持多人协作开发。但是性能差,用户体验不好。
特点 | 优点 | 缺点 |
---|
基于服务器,客户端的运行模式: 1.服务器保存文件的所有更新记录 2.客户端只保留最新的文件版本 | 联网运行,支持多人协作开发 | 1.不支持离线提交版本更新 2.中心服务器崩溃后,所有人无法正常工作 3.版本数据库故障后,所有历史记录会丢失 |
分布式版本控制系统
联网运行,支持多人协作开发,性能相比集中化版本控制系统更加优秀,用户体验好
特点 | 优点 |
---|
基于服务器,客户端的运行模式: 1.服务器保存文件的所有更新版本 2.客户端是服务器的完整备份,并不是只保留文件的最新版本 | 1.联网运行,支持多人协作开发 2.客户端断网后支持离线本地提交版本更新 3.服务器故障或损坏后,可使用任何一个客户端的备份进行恢复 |
Git
开源的分布式版本控制系统,目前世界上最先进,流行的版本控制系统。可以快速高效地处理各种规模的项目版本管理。 他的强大之处就是项目越大越复杂,协助者越多。就越能体验git的高性能和高可用性
git的特性
git的快速高效主要依赖这两个特性:
1.直接记录快照,而非差异比较
差异比较 传统的版本控制系统(如SVN)是基于差异的版本控制,存储的是一组基本文件和每个文件随着时间逐步积累的差异 优点:节省磁盘空间 缺点:耗时,效率低
git快照 在原有的文件版本的基础上重新生成一份新的文件,类似备份,为了效率,如果文件没有修改,git就不再重新存储该文件,而是保留一个连接指向之前的存储文件
2.近乎所以操作都是本地执行
在git绝大部分操作只需要访问本地文件和资源,一遍不需要来自网络上其他计算机的信息
特性 断网后依旧可以在本地对项目进行版本管理 联网后,把本地修改的记录同步到云端服务器即可
git三个区域
使用git管理的项目,拥有三个区域
- 工作区:处理工作的区域
- 暂存区 :已完成的工作的临时存放区域,等待被提交
- Git仓库:最终的存放区域
git工作流程
步骤 1.在工作区中修改文件 2.将你想要下次提交的更改进行暂存 3.提交更新,找到暂存区的文件,将快照永久性存储到Git仓库
工作区中文件的4种状态
注意 工作区的文件被修改了,但还没有放在暂存区,就是已修改状态 如果文件已修改并放入暂存区,就属于已暂存状态 如果Git仓库中保存特定版本的文件,就属于已提交状态
Git操作的终极结果:让工作区中的文件都处于"未修改"的状态
该博客就讲到git基本理论,下篇讲解一些git的基本使用(咕咕)~
|