如何根据git per commit中的某些名称模式或文件扩展名列出新添加的文件?

时间:2015-04-08 07:45:25

标签: git

我可以使用命令

列出每次提交新添加的列表文件

git whatchanged --diff-filter=A

如果很多人正在开展一些大型项目,那么产量会很大。假设我只想列出某种类型的新文件,例如.h头文件。

根据文件名列出新添加的某类文件的命令应该是什么? git whatchanged --diff-filter=A | grep '.h$'对我来说不是一个正确的解决方案。

1 个答案:

答案 0 :(得分:1)

git log命令(git whatchangedgit log --raw --no-merges的缩写)在减少要显示的提交方面采用与git rev-list相同的选项。一个这样的选项(或多个选项,实际上,因为您可以列出多个路径)是-- <paths>。文档遗漏的是<paths>部分可以包含通配符。

因此:

git log --raw --no-merges --diff-filter=A -- '*.h'

可以解决问题,因为'*.h'只选择影响至少一个以.h结尾的路径名的提交; git log(或git whatchanged)将此扩展为仅报告受影响的文件;然后--diff-filter=A丢弃不添加任何此类文件的提交。