假设我发出以下命令:
git diff hash1 hash2 -- MyFile.java
如果两个哈希中的文件版本相同,则 git 不返回任何输出。这似乎是合理且符合预期的。但是,如果我传递一个错误的文件名,如下所示:
git diff hash1 hash2 -- MyFile.javaaaa
git 没有返回错误,而是没有返回任何输出。我知道这种行为并不普遍;还有其他 git 命令确实会提示文件名错误。但这里并没有发生这种情况。这是一个真正的问题,因为我无法区分确实没有区别的情况和我只是粗略地修改了文件名的情况。
这不可能是正确的。我缺少什么?我可以更改一些设置吗?
最佳答案
在 git diff's document , <path>
“用于将差异限制为命名路径”,这听起来像是一个文件名过滤器,而不是一个文件名说明符。
也就是说,如果您输入的文件名不存在该文件,您将过滤掉所有文件,在输出中不留下任何内容。
关于git diff 不会打印错误文件名的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71670470/