Git代码库中文件的唯一标识符

4
在Git存储库中,是否存在用于文件的唯一标识符?该标识符必须在一些提交(修改文件),或重命名和移动文件之后仍然相同。是否存在这样的东西呢?
我尝试了“git ls-files --debug”,但我没有找到符合上述特征的唯一标识符。

参见:https://dev59.com/qlsW5IYBdhLWcg3wg3mD - dreftymac
2个回答

6
在 git 仓库中,“blob” 文件的唯一标识符是它的 SHA-1,但这是文件内容(以及它是文件/ blob 的事实)的校验和。只有在文件内容保持不变时,它才会保持恒定。它不依赖于文件名,但依赖于其内容,因此修改文件将更改 SHA-1。
您可以创建自己的唯一 ID,但您还必须进行自己的跟踪,将 ID 映射到当前的树相关名称(或 git 名称,即 SHA-1),并在文件重命名(或修改)时更改它。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接