您的位置:首页
【git体验】git原理及基础
2017-05-19 11:45
190 查看
原理:分布式版本号控制系统像 Git,Mercurial,Bazaar 以及 Darcs 等,client并不仅仅提取最新版本号
的文件快照,而是把原始的代码仓库完整地镜像下来。
这么一来。不论什么一处协同工作用的server发生问题,
事后都能够用不论什么一个镜 像出来的本地仓库恢复。
由于每一次的提取操作。实际上都是一次对代码仓库的
完整备份。
更进一步。很多这类系统都能够指定和若干不同的远端代码仓库进行交互。籍此。你就能够在同一个
项目中,分别和不同工作小组的人相互协作。你能够依据须要设定不同的协作流程,比方层次模型式
的工作流。而这在曾经的集中式系统中是无法实现的。
² 快速度
² 简单
² 对非线性 并发(同意上千个并行开发的分支)
² 全然分布式
基础:
1.非差异比較,直接记录快照
其它系统图
Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型
的文件系统中。每次提交更新时。它会纵览一遍全部文件的指纹信息并对文件作一快照,然后保存一个
指向这次快照 的索引。为提高性能,若文件没有变化,Git 不会再次保存,而仅仅对上次保存的快照作
一链接。
Git 保存每次更新时的文件快照
2.操作都是本地运行
在 Git 中的绝大多数操作都仅仅须要訪问本地文件和资源,不用连网。
改动加入完毕之后,保存到
本地缓存区,Git 在本地磁盘上就保存着全部当前项目的历史更新。要查看历史的版本号也非常easy,不需
要联网。仅仅有当你要把本地缓存区数据push到server上时候才须要联网。
可是其它的版本号控制不能做到离开网络,比方使用cvs。你能够本地改动加入,可是须要比对
历史版本号或者查看谁改动了版本号,都须要联网支持,有时候訪问非常慢的。
3.保证数据的完整性
保存到git的数据都须要进行验证和计算,并将此结果作为数据的唯一标识和索引。
即。改动文件夹
或者内容之后,git是全然能够知道的。
Git 使用 SHA-1 算法计算数据的校验和。
4.git数据的3中状态
已改动(modified):在工作环境中,增删改后保存到工作区域。
已暂存(staged):把工作区间的代码提交到本地缓存区,可是还没提交到server主干上。
已提交(committed):同步到server上,须要联网。
的文件快照,而是把原始的代码仓库完整地镜像下来。
这么一来。不论什么一处协同工作用的server发生问题,
事后都能够用不论什么一个镜 像出来的本地仓库恢复。
由于每一次的提取操作。实际上都是一次对代码仓库的
完整备份。
更进一步。很多这类系统都能够指定和若干不同的远端代码仓库进行交互。籍此。你就能够在同一个
项目中,分别和不同工作小组的人相互协作。你能够依据须要设定不同的协作流程,比方层次模型式
的工作流。而这在曾经的集中式系统中是无法实现的。
² 快速度
² 简单
² 对非线性 并发(同意上千个并行开发的分支)
² 全然分布式
基础:
1.非差异比較,直接记录快照
Git 仅仅关心文件数据的总体是否发生变化。而大多数其它系统则仅仅关心文件内容的详细差异。
其它版本号控制器工作。把改动的文件。及其改动的内容都保存下来了。
其它系统图
Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型
的文件系统中。每次提交更新时。它会纵览一遍全部文件的指纹信息并对文件作一快照,然后保存一个
指向这次快照 的索引。为提高性能,若文件没有变化,Git 不会再次保存,而仅仅对上次保存的快照作
一链接。
Git 保存每次更新时的文件快照
2.操作都是本地运行
在 Git 中的绝大多数操作都仅仅须要訪问本地文件和资源,不用连网。
改动加入完毕之后,保存到
本地缓存区,Git 在本地磁盘上就保存着全部当前项目的历史更新。要查看历史的版本号也非常easy,不需
要联网。仅仅有当你要把本地缓存区数据push到server上时候才须要联网。
可是其它的版本号控制不能做到离开网络,比方使用cvs。你能够本地改动加入,可是须要比对
历史版本号或者查看谁改动了版本号,都须要联网支持,有时候訪问非常慢的。
3.保证数据的完整性
保存到git的数据都须要进行验证和计算,并将此结果作为数据的唯一标识和索引。
即。改动文件夹
或者内容之后,git是全然能够知道的。
Git 使用 SHA-1 算法计算数据的校验和。
4.git数据的3中状态
已改动(modified):在工作环境中,增删改后保存到工作区域。
已暂存(staged):把工作区间的代码提交到本地缓存区,可是还没提交到server主干上。
已提交(committed):同步到server上,须要联网。
相关文章推荐
- 【git体验】git原理及基础
- Git深入体验之旅九:Git内部原理
- 【git体验】git基础-3目录之间关系
- Git深入体验之旅二:Git基础(上)
- git基础命令和部分原理
- GitChat · 区块链 | 教你如何轻松学习区块链和比特币基础技术原理
- Git 学习-第一节:基础和原理
- Git深入体验之旅二:Git基础(下)
- git基础原理
- TCP/IP原理、基础以及在Linux上的实现
- Sniff网络基础原理和软件实现技巧详解
- C#锐利体验-第二讲 C#语言基础介绍(转)
- Router原理与相关配置基础
- 技术是基础,用户体验是灵魂
- 转贴: BT软件的DHT技术基础——Kademlia协议原理简介
- C#锐利体验-第三讲 Microsoft.NET平台基础构造(转)
- MS SQL入门基础:触发器的原理
- 防病毒基础知识:杀毒软件的杀毒原理