1. git先把文件放在暂存区

  2. 然后就可以git update-index xxx.txt来生成一个index索引,注意这种生成方式是先把数据对象存储到objects数据库中,然后再生成索引

    如果xxx.txt是之前已经通过git hash-object -w写入到objects数据库中的话,生成索引的命令就是下面的,其中--add参数表明这个文件是第一次被加入暂存区的

1
2
git update-index --add --cacheinfo 100644 \
83baae61804e65cc73a7201a7252750c76066a30 test.txt
  1. 最后git write-tree来生成树对象

git file-ls -s 查看暂存区

https://gitee.com/progit/9-Git-内部原理.html#底层命令-(Plumbing)-和高层命令-(Porcelain)