git索引包含的是什么? [英] What does the git index contain EXACTLY?

查看:157
本文介绍了git索引包含的是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Git索引究竟包含了什么,以及我可以使用什么命令来查看索引的内容?




更新



感谢您的所有答案。我知道索引作为一个暂存区,索引中的内容是索引而不是工作树。我只是很好奇索引对象的组成。我想这可能是一个文件名/目录名称列表,SHA-1对,一种虚拟树可能?



在Git术语中,有没有 plumbing 命令可以列出索引的内容?

包含哪些索引


索引是一个二进制文件(通常保存在 .git / index 中),其中包含路径名的有序列表,每个路径名都有权限和SHA1一个斑点物体; git ls-files 可以显示索引的内容:



  $ git ls-files --stage 
100644 63c918c667fa005ff12ad89437f2fdc80926e21c 0 .gitignore
100644 5529b198e8d14decbe4ad99db3f7fb632de0439d 0 .mailmap

Racy git问题给出了有关该结构的更多详细信息:


索引是最重要的数据结构之一in git。

它通过记录路径及其对象名称列表来表示一个虚拟工作树状态,并作为暂存区域来写出要提交的下一个树对象。

状态是虚拟的,因为它不一定非得与工作树中的文件匹配。







要了解更多信息,请参阅参考资料。 git / git / Documentation / technical / index -format.txt



Git索引文件格式如下



< blockquote>

所有二进制数字都是网络字节顺序。

Version 2 在这里描述,除非另有说明。



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆