git学习之四:暂存区(index)

Posted 「临江仙」

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git学习之四:暂存区(index)相关的知识,希望对你有一定的参考价值。

1.暂存区简介

对于暂存区,简单来讲是对文件的修改,与对修改的提交两者之间的一个过渡阶段:将修改过的文件add到暂存区,然后根据暂存区内容进行commit操作。


2.暂存区的内容

先看看.git的目录,index是一个二进制文件,无法通过文本打开,里面存储了暂存区的信息


git ls-files --stage命名可以查看暂存区的详细类容:


结合第一节的讲解的git 内部工作的对象,index的类容就是blob对象的hash索引值,以及相关的目录信息。

这里记录了我们git所管理的文件信息,使用git add添加一个修改过的文件时,首先创建blob对象,然后在暂存区记录下来。


3.暂存区的作用

1.进行代码提交时,需要根据暂存区的内容,先生成tree对象,再生成commit对象(关于tree对象,可以回顾git对象那篇)

2.我们进行git diff,git checkout 文件的时候 默认是对某个文件与暂存区所记录的blob的内容进行比较。

3.对于git reset --soft 操作回到提交前的暂存状态。


以上是关于git学习之四:暂存区(index)的主要内容,如果未能解决你的问题,请参考以下文章

git 学习之基本概念

Git 工作区暂存区和版本库

Git 工作区暂存区和版本库

Git-Runoob:Git 工作区暂存区和版本库

Git 工作区暂存区和版本库

git工作区和暂存区