Git存储库中文件的唯一标识符

问题描述 投票:1回答:2

Git储存库中是否存在文件的唯一标识符?在某些提交(修改文件)之后,或者在重命名和移动文件之后,此唯一标识符必须相同。

这样的东西存在吗?

我尝试过git ls-files --debug,但没有找到具有上述特征的唯一标识符。

git file repository uniqueidentifier identifier
2个回答
2
投票

git repo中文件(“ blob”)的唯一唯一标识符是它的SHA-1,但这是文件内容的校验和(加上它是文件/ blob的事实)。仅当文件内容保持不变时,它才保持不变。它不依赖于文件的name,但确实依赖于其contents,因此修改文件将更改SHA-1。

您可以组成自己的唯一ID,但是还必须进行自己的跟踪,将ID映射到当前树的相对名称(或git-name,即SHA-1),并在文件为重命名(或分别修改)。


1
投票

不,没有一个。如果您对其进行修改,那么从Git的角度来看,它是一个不同的文件。

© www.soinside.com 2019 - 2024. All rights reserved.