如何在项目的所有git分支中搜索文件名?我记得文件名的一部分(只是结尾),所以我希望能够搜索*_robot.php所有分支的内容,并查看哪些文件匹配.我最好喜欢搜索历史记录,而不仅仅是分支机构的HEAD.
man*_*lds 30
这是一种方式:
git log --all --name-only --pretty=format: | sort -u | grep _robot.php
Run Code Online (Sandbox Code Playgroud)
以下是@ manojlds解决方案的一个更简单的变体:git确实可以直接考虑所有的branches(--all),打印修改后的文件的名称(--name-only),只有这些名称(--pretty=format:).但是git也可以通过在--分隔符之后放置文件名正则表达式来首先过滤某些文件名(正则表达式):
git log --all --name-only --pretty=format: -- <file_name_regexp> | sort -u
Run Code Online (Sandbox Code Playgroud)
所以,你可以直接做:
git log --all --name-only --pretty=format: -- _robot.php | sort -u
Run Code Online (Sandbox Code Playgroud)