【问题标题】:Search for string in one file in all branches在所有分支的一个文件中搜索字符串
【发布时间】:2016-09-09 20:58:26
【问题描述】:

是否可以在所有分支一个文件中Git grep一个字符串?

我知道我对特定文件进行了更改;我只是找不到我在哪个分支上做的。

【问题讨论】:

标签: git


【解决方案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
    猜你喜欢
    • 2015-10-03
    • 2013-02-09
    • 2021-12-15
    • 2011-11-01
    • 2015-07-12
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多