在所有分支的一个文件中搜索字符串
Posted
技术标签:
【中文标题】在所有分支的一个文件中搜索字符串【英文标题】:Search for string in one file in all branches 【发布时间】:2016-09-09 20:58:26 【问题描述】:是否可以在所有分支的一个文件中Git grep一个字符串?
我知道我对特定文件进行了更改;我只是找不到我在哪个分支上做的。
【问题讨论】:
Finding a Git commit that introduced a string in any branch的可能重复 【参考方案1】:感谢 ElpieKay 提供这个漂亮的小宝石:
git grep a_string $(git rev-parse --all -- target_file)
【讨论】:
【参考方案2】:用途:
git stash
git branch | while read line
do
echo branch:$line
git checkout $line -- target_file
grep a_string target_file
done
git stash pop
试一试。
【讨论】:
虽然我可以看到这个工作,但感觉效率低下。有人有更好的吗?我希望有一个命令行标志。 @MichaelArrison 尝试git grep a_string $(git rev-list --all -- target_file)
@MichaelArrison git branch --merged blob_sha1
可以列出 blob_sha1 来自哪个分支。
恐怕这行不通。例如,我尝试了:“git grep opacity $(git rev-list --all -- css/main.css)”,并得到了一个包含其他文件匹配项的列表。
抱歉,请使用rev-parse
而不是rev-list
。以上是关于在所有分支的一个文件中搜索字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在所有文件中搜索字符串 firefox developer 56