使用文件扩展名过滤`git show <commitid>`结果

时间:2017-05-21 06:01:02

标签: git file patch

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

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

任何命令或选项。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以通过提供匹配的路径或模式来过滤var prox = new Proxy({}, { has(target, property) { return true; }, }); with(prox) { prop = 1; } // prox.prop === 1 输出的差异。所以在你的情况下:

git show

您需要对shell使用适当的引用,以确保Git看到通配符(git show "*.cpp" )并且它不会被shell首先展开。

答案 2 :(得分:0)

@ElipieKay在评论部分给出的答案为我工作。

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

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

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

git show 29a9f891fd -- *.cpp