我在another answer中发现我可以列出提交中更改的文件:
git diff-tree --no-commit-id --name-only -r bd61ad98
如何才能在diff?
中仅显示包含特定文本更改的文件答案 0 :(得分:3)
您可以使用-G
flag:
-S<regex> --pickaxe-regex
查找补丁文本中包含匹配的添加/删除行的差异。
为了说明
-G<regex>
和+ return !regexec(regexp, two->ptr, 1, ®match, 0); ... - hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);
之间的区别,请考虑在同一文件中使用以下差异进行提交:git log -G"regexec\(regexp"
虽然
git log -S"regexec\(regexp" --pickaxe-regex
将显示此提交,但git diff-tree --no-commit-id -G<regex with what you are looking at> --name-only -r bd61ad98
不会显示(因为该字符串的出现次数没有变化)。有关详细信息,请参阅gitdiffcore[7]中的pickaxe条目。
例如:
%matplotlib notebook