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

时间:2008-09-18 00:34:24

标签: git

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

2 个答案:

答案 0 :(得分:27)

这将打印diff包含xyz

的任何提交
git log -Sxyz foo.c

答案 1 :(得分:1)

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

git log -Sxyz -- foo.c

在没有--的情况下,出现此错误:

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>...]'

我本来想对CaptainPicard's answer进行评论以进行更正,但是我还没有足够的声誉。如果有人想编辑该答案以提及此更正,我将很乐意将此答案记下来。