如果我有一个名为foo的文件。rb,它给了我一个关于缺少bar方法的错误,所以我想搜索foo的历史。Rb的字符串条,看看它是否在过去被定义过。
我发现这个搜索所有Git历史的字符串?
但这将搜索所有文件。我只想在一个文件中搜索。
如果我有一个名为foo的文件。rb,它给了我一个关于缺少bar方法的错误,所以我想搜索foo的历史。Rb的字符串条,看看它是否在过去被定义过。
我发现这个搜索所有Git历史的字符串?
但这将搜索所有文件。我只想在一个文件中搜索。
有一个覆盖git日志命令(来自manual):
$ git log Makefile # commits that modify Makefile
所以你可以用:
git log foo.rb | grep "bar"
或者你可以试试这个(从相关问题搜索所有git历史字符串)
git rev-list --all foo.rb | (
while read revision; do
git grep -F 'bar' $revision foo.rb
done
)
它实际上会查找文件内容,而不会提交任何bar事件的消息/补丁。