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