分布式版本控制系统-Git详解.pdf
文本预览下载声明
Git—— 分布式版本控制系统
版本控制的发展历程
本地版本控制系统
● 最流行的 rcs
● 保存并管理文件补丁
(patch )
● 文件补丁是一种特定
格式的文本文件,
记录着对应文件修
订前后的内容变
化。
集中化的版本控制系统
Centralized Version Control Systems
● CVS,Subversion
● 中央服务器的单点故
障 , 整个项目的历史记
录被保存在单一位置
分布式版本控制系统
Distributed Version Control System
● Git ,Mercurial ,Bazaar
还有 Darcs
● 客户端并不只提取最新版本
的文件快照,而是把原始的
代码仓库完整地镜像下来
● 每一次的提取操作,实际上
都是一次对代码仓库的完整
备份
Git 特征
Git 开发的目标
● 速度
● 简单的设计
● 对非线性开发模式的强力支持(允许上千个并行
开发的分支)
● 完全分布式
● 有能力高效管理类似 Linux 内核一样的超大规
模项目(速度和数据量)
Git 基础要点
● 直接快照,而非比较差异
● 近乎所有操作都可本地执行 ( 历史更新摘要
● 时刻保持数据完整性 ( 内容的校验和 checksum 计算 ,Git 使用 SHA-1 算法
计算数据的校验和,通过对文件的内容或目录的结构计算出一个 SHA-1 哈希值,作为指纹字符
串。该字串由 40 个十六进制字符( 0-9 及 a-f )组成
● 多数操作仅添加数据
● 三种状态 : 已提交( committed ),已修改
(modified )和已暂存( staged )
Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础的超强
工具,而不只是一个简单的 VCS
● 其他系统在每个版本
中记录着各个文件的
具体差异
● Git 保存每次更新时的文件
快照
● 若文件没有变化, Git 不会
再次保存,而只对上次保存
的快照作一连接
对于任何一个文件,在 Git 内都只有三种状态
● 已提交 : 表示该文件已经被
安全地保存在本地数据库中
了;
● 已修改 : 表示修改了某个文
件,但还没有提交保存;
显示全部