Gitsearch单个文件历史logging中的string

所以,如果我有一个名为foo.rb的文件,它给我一个称为bar的缺less方法的错误,所以我想searchstringfoo.rb的历史logging,看它是否曾经被定义过。

我发现这个search一个string的所有Git历史logging?

但是这个search所有的文件。 我只想在一个文件中search。

为此,您可以使用-S选项来login:

 git log -S'bar' -- foo.rb 

或者,也许你可以尝试这一个(从相关的问题searchstring的所有Git历史logging

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

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

有一个覆盖git log命令( 手动 ):

 $ git log Makefile # commits that modify Makefile 

所以你可以使用:

 git log foo.rb | grep "bar"