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

时间:2013-10-01 17:48:43

标签: git file repository uniqueidentifier identifier

Git存储库中是否存在唯一的文件标识符?在重新定义并移动该文件后,在一些提交(修改文件)之后,此唯一标识符必须相同。

它存在吗?

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

不,没有一个。如果你修改它,它是一个与Git不同的文件。