Git从入门到精通-第一章-基础概念

目录

为什么要版本控制?

版本控制系统

本地版本控制系统

集中化的版本控制系统

分布式版本控制系统 

Git是什么? 

直接记录快照

几乎所有操作都是本地执行

保证完整性

Git一般只添加数据

三种状态!

Git的三种状态

Git的三个阶段

Git基本工作流程


注:本文图文以proGit为基础

为什么要版本控制?

为了能够及时回溯项目以前的版本

版本控制系统

本地版本控制系统

RCS:保存布丁,也就是各版本修订前后的变化(有点像差分)

集中化的版本控制系统

多个客户端连接同一个服务器,取出文件或提交更新

好处是更容易管理,坏处就是这个服务器得稳定,得通过异地容灾等方法降低风险

分布式版本控制系统 

于是乎,分布式的就诞生了,客户端不再是提取当前最新版本的文件快照,而是将整个代码仓库完整的镜像下来,包括历史记录,那么即使服务器故障,我们仍可以通过镜像进行复刻

Git是什么? 

直接记录快照

其他大部分系统以文件变更列表的方式存储信息,可以将这些信息看作是一组基本文件和每个文件随时间逐步累积的差异(基于差异 delta-based )

然而Git是将数据看作是对小型文件的快照,每当提交更新或保存项目状态的时候,会为全部文件创建一个快照并保存这个快照的索引。如果某个文件没有修改,那么不会重新存储,而是保留一个链接指向之前存储的文件

Git更像是一个小型的文件系统,提供了许多以此为基础构建的超强工具 

几乎所有操作都是本地执行

在Git中大多数操作只需要访问本地文件和资源,因为在本地磁盘上就有项目的完整历史,无须从远程服务器拉回。意味着你可以随心所欲地在本地进行操作,然后等有条件了再上传服务器

保证完整性

Git中所有数据在存储前都会计算校验和,然后以校验和来引用。这意味这无法在Git不知情的情况下更改任何文件或者目录。如果你在传输中丢失信息或损坏文件,Git就能发现

Git计算校验和的机制叫做SHA-1 hash。Git数据库中保存的信息都是以文件内容的哈希值作为索引

Git一般只添加数据

一旦你提交快照到Git中,就很难丢失数据,那么我们也就没有必要担心误删了数据

三种状态!

Git的三种状态

        committed 已提交        修改了文件,但还没有保存到数据库中

        modified    已修改        对已修改文件的当前版本做了标记,使之包含在下次提交的快照

        staged.      已暂存        数据安全地保存在本地数据库中

Git的三个阶段

        工作区        对项目某个版本独立提取出来的内容。这些文件放在磁盘上供客户端使用或修改

        暂存区        暂存区是个文件,保存下次将要提交的文件列表信息,也就是“索引”

        Git仓库        保存项目的原数据和对象数据库,供计算机克隆仓库

Git基本工作流程

        1.在工作区修改文件

        2.将下次要提交的更改选择性暂存,只会讲更改部分添加到暂存区

        3.提交更新,将暂存区文件快照永久性存储到Git仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值