使用git grep文件的先前版本?

Rea*_*nly 24 git

是否有一个命令可以让我检查字符串"xyz"是否存在foo.c于存储库中的文件中并打印出哪些修订版本?

Cap*_*ard 31

这将打印diff包含xyz的任何提交

git log -Sxyz foo.c
Run Code Online (Sandbox Code Playgroud)


小智 6

这将打印差异包含 xyz 的任何提交。请注意将--文件名与命令的其余部分分开。

git log -Sxyz -- foo.c
Run Code Online (Sandbox Code Playgroud)

没有--,我收到此错误:

fatal: ambiguous argument 'foo.c': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)

我原本想评论CaptainPicard的回答以添加更正,但我还没有足够的声誉。如果有人想编辑该答案以提及此更正,我将很乐意删除此答案。