git:添加包含特定短语的列表行

时间:2019-11-22 10:25:35

标签: git

在git中,我如何列出所有已添加并包含特定关键字的行的修改和/或暂存文件?

我觉得git log应该可以做到(或者至少是第一步),但是文档很长,而且今天的搜索没有帮助。

如果在顶部,则为:在Windows上,并且最好不要使用bash。 (不过,我应该可以用find替换一个简单的grep)

目的:查看我上班前添加的所有“ TODO”,理想情况下,格式如下:

c:\src\proj\a.cpp(11):     if(i<0)  // TODO this needs to be more detailed
c:\src\proj\a.cpp(17755): // TODO too many lines in this file

1 个答案:

答案 0 :(得分:1)

使用-S标志

git log --name-only -S "TODO"

将列出所有在更改后的行中包含该字符串的文件,这与您要求的不完全相同,而是关闭的。


仅适用于暂存文件,请尝试

git diff --staged --name-only -S "TODO"

...或者,省略--staged标志以检查未暂存的文件。


最后,要同时检查两者:

git diff --name-only -S "TODO" HEAD

(此外,您可能要检查doc中的相关部分)