双葉幼稚園 A Layman's Repository

This File Does Not Exist At The Requested Revision

git blame 是我非常喜欢的功能,不过在 Xcode 中 blame 的时候有些文件会提示 "This file does not exist at the requested revision",没办法进行 blame,但是其他文件就没有问题。

调查了一下,是因为之前在 Xcode 中把这个文件名的大小写改变了,在项目文件中的文件名的大小写改变了,但是没有改变磁盘上的文件的大小写。HFS+ 默认是大小写不敏感的,所以正常打开文件没有问题,但是 git 的文件系统是大小写敏感的,所以 Xcode 用项目文件里的文件名去 git 中查询历史的时候就查找不到了。解决方法当然是让这些文件名的大小写一致。

先用 git mv 把文件改成另外的名字,然后再用 git mv 改成大小写正确的名字,这样 git 就能意识到文件名发生了改变,git status 就能显示出 rename 来了。不要用 mv,那样 git 意识不到文件改名了。

Fuck HFS+