如何执行git grep并将检查的文件限制为一组文件。我希望能够grep查找MyFunc的.cpp和.h文件的内容。例如:
git grep "MyFunc" -- *.[hc]*
但是,这也匹配.c文件和.cs文件。
如何执行git grep并将检查的文件限制为一组文件。我希望能够grep查找MyFunc的.cpp和.h文件的内容。例如:
git grep "MyFunc" -- *.[hc]*
但是,这也匹配.c文件和.cs文件。
使用:
git grep "MyFunc" -- '*.cpp' '*.h'
引号是必要的,以便git扩展通配符而不是shell。如果省略它们,它只会搜索当前目录中的文件,而不是包含子目录。
使用:
git grep "MyFunc" -- '*.cpp' '*.h'
引号是必要的,以便git扩展通配符而不是shell。如果省略它们,它只会搜索当前目录中的文件,而不是包含子目录。
这可以通过以下方式在Windows中使用git bash时实现:
git grep "MyFunc" -- *.{cpp,h}
甚至更简单:
git grep "MyFunc" -- *.cpp *.h
关于路径规范的解释 git词汇表 提到模式匹配使用 的fnmatch(3)。其匹配模式(包括多个字符)如下所述 壳牌和公用事业量IEEE Std 1003.1-2001,第2.13.1节 并导致 匹配多个字符的基本正则表达式 并给了我第一个解决方案。
进一步的研究通过查看文档来引导我到第二个解决方案 glob的。