从此处找到的拉取请求中,我们可以在文件中看到
/java/org/wso2/carbon/analytics/apim/internal/TemplateManagerInitializerComponent.java
38,39 和 40 行已被删除。现在我需要确定将这些行(已删除的 38,39 和 40 行)添加到文件中的提交哈希(散列),但此处显示的文件的责备视图不显示已删除行的历史记录。如何从 github 获取这些信息。提前致谢
尝试git log -S <string>
:
git log -S "import javax.xml.bind.JAXBException"
引用 doc ( git help log
) about-S
和它的表弟-G
:
-S<string>
寻找改变文件中指定字符串(即添加/删除)出现次数的差异。供脚本编写者使用。当您正在寻找一个确切的代码块(如结构)并想知道该块自它首次出现以来的历史时,它很有用:迭代地使用该功能将原像中有趣的块反馈回-S,然后继续,直到你得到第一个版本的块。
-G<regex>
查找补丁文本包含匹配的添加/删除行的差异<regex>
。为了说明 和 之间的区别
-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
但不会(因为该字符串的出现次数没有改变)。有关更多信息,请参阅 gitdiffcore(7) 中的镐条目。