Git Pro精要(一) 基本概念

Git是一种分布式版本控制系统,其主要特点包括快照存储而非差异存储、大多数操作在本地执行、通过SHA-1保证数据完整性、文件系统只增加不删除数据以及三种核心状态(Modified、Staged、Committed)。Git的工作流程涉及在工作目录中修改文件,将变更添加到暂存区,然后提交到.git目录以永久保存。这种设计使得Git高效且易于管理项目历史。
摘要由CSDN通过智能技术生成

什么是Git?

下面是git的一些基本概念

1. 快照存储 Snapshots, Not Differences

The major difference between Git and any other VCS (Subversion and friends included) is the way Git thinks about its data. Conceptually, most other systems store information as a list of file-based changes. These other systems (CVS, Subversion, Perforce, Bazaar, and so on) think of the information they store as a set of files and the changes made to each file over time (this is commonly described as delta-based version control).
在这里插入图片描述

一个重要的区分是: 他们看待数据的方式不同。

其他大部分版本控制方式经常被称为“基于增量的版本控制”。 如图,当文件变更时,版本控制系统会将每次的变更保存。

Git doesn’t think of or store its data this way. Instead, Git thinks of its data more like a series of snapshots of a miniature filesystem. With Git, every time you commit, or save the state of your project, Git basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot. To be efficient, if files have not changed, Git doesn’t store the file again, just a link to the previous identical file it has already stored. Git thinks about its data more like a stream of snapshots.

在这里插入图片描述
而git并不是。git把文件视为一系列迷你文件系统的快照。文件的每一次变更,git都会存储一个快照,当然假如文件没有变更,那就只存储一个之前的引用就可以了。

2.大部分操作是本地的

git大部分操作都是本地完成,所以可以非常快,即使没有网络也可以工作。

3.Git 保证完整性

Git使用SHA-1哈希来校验文件,对文件的任何更改都会被检测到。
事实上,Git存储信息的方式不是通过文件,而是通过内容的哈希值。

4.Git 的文件系统只会增加数据,而不会删除数据

这样使得任何操作都可以撤销。

5. 三种状态

  • Modified: 文件已被修改,但是尚未提交到数据库
  • Staged : 在当前版本中标记了该文件,但尚未存储
  • Committed: 数据已经被存储。

这三种状态也就划分了Git项目的三个部分: 工作目录、暂存区、.git目录

在这里插入图片描述

工作目录是从项目中一个版本导出来的。这些文件从Git目录中压缩库中提取出来,放在磁盘上供使用和修改。
暂存区是一个文件。他存储下一次提交的内容信息。
.git目录中存储着所有的数据库,是Git中最重要的部分。

一个基本的Git工作流是这样的:

  • 用户在工作目录修改文件
  • 将修改的文件添加到暂存区
  • 提交文件。此后文件的信息就被永久地保存到.git目录中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值