use*_*984 4 git file repository identifier uniqueidentifier
Git 存储库中的文件是否存在唯一标识符?在一些提交(修改文件)之后,或者在重命名和移动文件之后,此唯一标识符必须相同。
这样的事情存在吗?
我尝试过git ls-files --debug,但没有找到具有上面列出的特征的唯一标识符。
git 存储库中文件(“blob”)的唯一唯一标识符是其 SHA-1,但这是文件内容的校验和(加上它是文件/blob 的事实)。仅当文件内容保持不变时它才保持不变。它不依赖于文件的名称,但依赖于其内容,因此修改文件将更改 SHA-1。
您可以创建自己的唯一 ID,但您还必须进行自己的跟踪,将 ID 映射到当前树相对名称(或 git-name,即 SHA-1),并在文件重命名时更改它(或分别修改)。