Git在特定提交的文件中搜索字符串

时间:2019-04-15 15:29:41

标签: git

我有许多文件包含字符串foo。另外,我将foo添加到具有一定提交权限的新文件和旧文件中。

我尝试了Case-insensitive git pickaxe search

git log -S foo -i --oneline

但它仅显示提交标题。

我尝试了

git diff [commit] [prev_commit] | grep foo

,但不显示文件名。我只想获取带有foo字符串的已创建或已修改文件的列表。

2 个答案:

答案 0 :(得分:2)

您只是一个选择,请尝试使用--name-only,它会显示文件名。

答案 1 :(得分:0)

默认情况下,git log不显示提交的内容,但您的方向是正确的:

git log -S foo -i --oneline --patch

--patch选项将显示每次提交的内容。

编辑: 实际上,这并不是您真正需要的,因为您不要求提交内容,而只是要求文件名。如果您不想要这些内容,@ RomainValeri的答案会更好。