![显示按术语过滤的 git diff 的文件名](https://linux22.com/image/128276/%E6%98%BE%E7%A4%BA%E6%8C%89%E6%9C%AF%E8%AF%AD%E8%BF%87%E6%BB%A4%E7%9A%84%20git%20diff%20%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8D.png)
-n
用作 grep 参数来显示行号,但-H
不适用于文件名。我认为这是因为git diff
默认情况下不会为每个更改的行输出文件名。当我打字时,我考虑了另一个显示多行的选项,它解决了我眼前的问题,但仍然想知道显示实际文件名的解决方案。
[michael@bigbox www]$ git diff | grep -n -H "this->config"
(standard input):614:- $config=json_decode($this->config,true);
[michael@bigbox www]$
答案1
我不确定您是否可以在单个命令中显示文件名和更改的行,但以下内容将列出包含this->config
已更改的行的所有文件:
git diff --name-only -G"this->config"