由于git
不跟踪文件的元数据,这意味着文件元数据不是文件的SHA-1
散列的一部分。这似乎应该是文件的SHA-1哈希的一部分?
为什么当文件名或其他元数据改变时,文件的哈希值不会改变?
git中的文件由两部分表示
- 其内容的一团
- 文件树中的目录条目
文件名等内容存储在树中。
如果您重命名一个文件(并提交),您将得到一个仍然指向相同内容blob的新树。
相反,您可以让多个文件(具有相同的内容)指向相同的blob。