因此,如果我有一个名为foo.rb的文件,它给我一个错误,因为缺少一个名为bar的方法,所以我想在foo.rb的历史记录中搜索字符串bar
,看看它是否在过去定义过。
我找到了这个Search all of Git history for a string?
但这会搜索所有文件。我只想搜索一个文件。
发布于 2012-04-19 02:55:53
为此,您可以使用-S选项来记录日志:
git log -S'bar' -- foo.rb
发布于 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提交消息/补丁。
发布于 2012-04-19 02:16:21
git log命令(来自manual)有一个覆盖:
$ git log Makefile # commits that modify Makefile
因此,您可以使用:
git log foo.rb | grep "bar"
https://stackoverflow.com/questions/10215197
复制相似问题