Git之旅① - 历史起源与特点( 三 )
在工作目录的文件可以处于不同的状态 , 比如说新添加了一个文件 , GIT发现了这个文件 , 但这个文件是否要纳入GIT的版本控制还是要由我们自己决定 , 比如编译生成的中间文件 , 我们肯定不想纳入版本控制 。
7.1 什么是快照
举几个日常生活中的例子
1. 游戏 (存档点 save point)
2. 搜索引擎 (百度快照)
文章插图
3. 数据库同步 (数据快照)
简要概括就是:记录某一刻的样子 。
8. Git特点其他版本管理系统主要差别:
① Git只关心文件数据的整体是否发生了变化 , 而其他多数版本管理系统则只关心文件内容的具体差异(需要增量保存差异) 。
② Git并不保存文件前后变化的差异数据 , 更像是把变化的文件整体做一个快照 , 然后记录在一个微型的文件系统中 。 每次提交更新时 , 会比较这个快照 。 若文件没有变化 , Git则只对上次保存的快照作一个链接 。
Git保存的是文件的完整快照 , 而不是差异变化或者文件补丁 。 Git每一次提交都是对项目文件的一个完整拷贝 , 因此你可以完全恢复到以前的任一个提交而不会发生任何区别 。 这里有一个问题: 如果我的项目大小是10M , 那Git占用的空间是不是随着提交次数的增加线性增加呢?我提交(commit)了10次 , 占用空间是不是100M呢?很显然不是 , Git是很智能的 , 如果文件没有变化 , 它只会保存一个指向上一个版本的文件的指针 。 即:对于一个特定版本的文件 , Git只会保存一个副本 。 但可以有多个指向该文件的指针 (该指针与C语言指针不同 。 C语言指针内容可以变化 , 指针不变 。 但是,git的指针指向的文件发生细微变化 , 指针就会立即变化 。 )
文章插图
核心特点
1. Git底层自行维护的存储文件系统:存储的是文件快照 。 即整个文件内容 , 并保存指向该快照的索引
2. 去中心化的分布式控制系统
9. 优缺点优点:1. 适合分布式开发 , 强调个体
2. 公共服务器压力和数据量不会太大 , 快速、灵活
3. 任意两个开发者之间可以很快捷的解决冲突
4. 离线工作
缺点:1. 学习周期较长
2. 不符合常规思维
3. 代码保密性差 。 一旦把这个库clone下来就可以获取提交的所有版本信息
【Git之旅① - 历史起源与特点】归纳起来四个字:好用、难懂
- LetsGoDigital分享三星Galaxy S21系列全家桶渲染图
- 汕头世爵影音获挪威音乐之旅品牌中国(包括香港,澳门)总代理
- 更新了!深入浅出图解Git,入门到精通(保姆级教程)第三篇
- 世界首枚5G纪念币发行!里程碑式历史意义,首发预定
- 2020年中国创新方法大赛总决赛 天津团队创历史佳绩
- 历史性时刻!全球物联网设备数量大曝光:中国占全球75%份额
- 三季度全球PC出货量创历史新高:联想、苹果成直接受益者
- 历史何其相似:电动车狂潮与自行车泡沫
- 小身材有大用处,盘点 Gitee 上那些实用的JS小工具
- GitOps—通过CI/CD自动化构建虚拟机模版