git diff 不会打印错误文件名的错误

标签 git git-diff

假设我发出以下命令:

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/

相关文章:

git - 如何 "git reset --soft HEAD^"单个文件?

git 在我的 vagrant centos 机器上很慢

diff - 标准 (Myers)、最小、耐心和直方图差异算法产生的不同结果的示例

git - 显示哪些文件在两次修订之间发生了变化

mysql - 将 sql 模式文件的 git diff 转换为应用/撤消 sql 脚本

Xcode - 使用 SSH 身份验证添加存储库时出现身份验证失败错误

GIT共享配置数据

git - 我不小心创建了一个名为--track的git本地分支,如何删除它?

Git:如何查找 origin/master 是否相当于(本地)master?

git - Git列出自特定提交以来已修改(未添加)的所有文件,包括已添加并随后修改的文件