首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git搜索单个文件历史记录中的字符串

Git搜索单个文件历史记录中的字符串
EN

Stack Overflow用户
提问于 2012-04-19 02:00:26
回答 4查看 46.9K关注 0票数 204

因此,如果我有一个名为foo.rb的文件,它给我一个错误,因为缺少一个名为bar的方法,所以我想在foo.rb的历史记录中搜索字符串bar,看看它是否在过去定义过。

我找到了这个Search all of Git history for a string?

但这会搜索所有文件。我只想搜索一个文件。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-19 02:55:53

为此,您可以使用-S选项来记录日志:

git log -S'bar' -- foo.rb
票数 276
EN

Stack Overflow用户

发布于 2012-04-19 15:02:56

或者你可以试试这个(来自相关问题)

git rev-list --all foo.rb | (
    while read revision; do
        git grep -F 'bar' $revision foo.rb
    done
)

它实际上会查找文件内容,而不会为任何出现bar提交消息/补丁。

票数 18
EN

Stack Overflow用户

发布于 2012-04-19 02:16:21

git log命令(来自manual)有一个覆盖:

$ git log Makefile      # commits that modify Makefile

因此,您可以使用:

git log foo.rb | grep "bar"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10215197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档