上集我们说到在执行git add ~
命令后,.git目录下会生成两个文件
-
一个是objects下的blob对象
-
另一个是index文件
我们已经知道blob对象存取了提交文件的内容,而今天要介绍的index文件,如我们猜想,里面存取了文件的名字
直接输入cat .git/index
,打印的虽然是一串乱码,但是我们还是能在其中找到我们的文件名,也就是new.txt和file.txt
git帮我们提供了一个命令可以方便的查看index区的文件名
git ls-files
如果想查看文件名和文件的信息,可以输入
git ls-files -s
在我们还未使用git commit
命令时,实际上这个暂存区充当了工作区和本地仓库的连接作用
工作区和index区的不同
在之前,我们看到
假如我把一个文件通过git add
从工作区提交到暂存区,我们在.git文件里面能找到我们所提交的文件的全部信息,那这两个区有什么不同呢?
不妨再来做一个实验
- 把file.txt的内容修改为
"modify it"
- git status查看
- 使用
git add file.txt
- 使用
ls -R .git
查看文件
- 我们再次修改file.txt的内容
echo "modify it second" > file.txt
,并再次提交git add file.txt
- 查看文件
ls -R .git