在所有git分支中搜索文件

时间:2011-12-05 20:35:25

标签: git grep

如何搜索项目的所有git分支以获取文件名?我记得文件名的一部分(只是结尾)所以我希望能够在所有分支中搜索*_robot.php之类的内容,并查看哪些文件与之匹配。我最好喜欢它的搜索历史,而不仅仅是分支的HEAD。

2 个答案:

答案 0 :(得分:30)

这是一种方式:

git log --all --name-only --pretty=format: | sort -u | grep _robot.php

答案 1 :(得分:7)

以下是@ manojlds解决方案的一个更简单的变体:git确实可以直接考虑所有分支(--all),打印修改后的文件的名称(--name-only),并且只显示这些名称({ {1}})。但是git也可以通过在--pretty=format:分隔符之后放置文件名正则表达式来过滤某些文件名(正则表达式):

--

所以,你可以直接做:

git log --all --name-only --pretty=format: -- <file_name_regexp> | sort -u