列出其更改(差异)包含给定字符串的文件? [复制]
Posted
技术标签:
【中文标题】列出其更改(差异)包含给定字符串的文件? [复制]【英文标题】:List files whose changes (diff) contain a given string? [duplicate] 【发布时间】:2019-01-31 14:47:03 【问题描述】:是否有一个简单的 git 命令来列出差异包含给定字符串的文件,还是我必须迭代?
我需要将重构(方法名称更改)与其他更改分开提交,因此我需要识别其差异包含新方法名称的文件。
【问题讨论】:
【参考方案1】:您可以使用diff
命令的-S
(字符串)或-G
(正则表达式)参数来过滤特定字符串。
git diff --name-only -S"your_method_name"
并且只有在更改中出现此特定字符串的文件才会显示在列表中。
看看这里the doc:
-S<string>
寻找改变文件中指定字符串出现次数(即添加/删除)的差异。供脚本编写者使用。
当您正在寻找一个确切的代码块(如结构)并想知道该代码块自诞生以来的历史时,它很有用:迭代地使用该功能来提供有趣的代码块preimage 回到 -S 中,并继续执行,直到获得第一个版本的块。
【讨论】:
-S
和 -G
之间的区别不仅限于字符串与正则表达式。请参阅this example 了解这两个选项之间的区别。以上是关于列出其更改(差异)包含给定字符串的文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章