过滤 `git show <commitId>` 带有文件扩展名的结果

Filter `git show <commitId>` result with file extension

考虑一个非常大的变更集。执行 git show <sha1> 后,您将获得与所有文件相关的更改。但我只对 .cpp 文件所做的更改感兴趣,其余文件对我的分析没有用。

如何从 git show 结果中过滤掉它们?

任何命令或选项。

您可以通过提供匹配的路径或模式来过滤 git show 输出的差异。所以在你的情况下:

git show "*.cpp"

您需要为您的 shell 使用适当的引号以确保 Git 看到通配符 (*.cpp) 并且它不会被您扩展 shell 第一。

@ElipieKay 在评论部分给出的答案对我有用。

打印扩展名为 .cpp 的文件名。

git show --name-status 29a9f891fd -- *.cpp      

显示对扩展名为 .cpp 的文件所做的更改。

git show 29a9f891fd -- *.cpp

git show -- *.cpp 有效。没有 --,glob 似乎无法正常工作。