列出其更改(diff)包含给定字符串的文件?

时间:2018-08-25 09:46:31

标签: git git-diff

是否有一个简单的git命令来列出其差异包含给定字符串的文件,还是我必须进行迭代?

我需要与其他更改分开提交重构(方法名称更改),因此我需要确定其差异包含新方法名称的文件。

1 个答案:

答案 0 :(得分:2)

您可以使用-S命令的-G(字符串)或diff(正则表达式)参数来过滤特定的字符串。

git diff --name-only -S"your_method_name"

只有该特定字符串出现在更改中的文件才会显示在列表中。

the doc中查看这里:

  

-S<string>

     

寻找差异来更改文件中指定字符串(即加/删除)的出现次数。旨在供脚本编写者使用。

     

当您正在寻找确切的代码块(如结构),并且想知道该块自诞生以来的历史记录时,它很有用:迭代使用该功能将有趣的块馈入将preimage重新放回-S,并继续进行直到获得该块的第一个版本为止。