Git储存库中是否存在文件的唯一标识符?在某些提交(修改文件)之后,或者在重命名和移动文件之后,此唯一标识符必须相同。
这样的东西存在吗?
我尝试过git ls-files --debug
,但没有找到具有上述特征的唯一标识符。
git repo中文件(“ blob”)的唯一唯一标识符是它的SHA-1,但这是文件内容的校验和(加上它是文件/ blob的事实)。仅当文件内容保持不变时,它才保持不变。它不依赖于文件的name,但确实依赖于其contents,因此修改文件将更改SHA-1。
您可以组成自己的唯一ID,但是还必须进行自己的跟踪,将ID映射到当前树的相对名称(或git-name,即SHA-1),并在文件为重命名(或分别修改)。
不,没有一个。如果您对其进行修改,那么从Git的角度来看,它是一个不同的文件。