繁体   English   中英

如何获取将哈希添加到文件的提交哈希,该哈希已被github存储库中的当前提交删除

[英]How to get the commit hash that added a line to a file, which is already deleted by the current commit in github repository

此处找到的拉取请求中我们可以在文件中看到该请求

/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"

引用有关-S及其表亲-G的文档( git help log ):

-S<string>
寻找差异来改变文件中指定字符串(即加/删除)的出现次数。 供脚本编写者使用。

当您正在寻找确切的代码块(如结构),并且想知道该块自首次出现以来的历史记录时,它很有用:迭代使用该功能将原图像中的有趣块反馈到-S,继续进行直到获得该块的第一个版本。

-G<regex>
查找其补丁文本包含与<regex>匹配的已添加/已删除行的差异。

为了说明-S<regex> --pickaxe-regex-G<regex>之间的区别,请考虑在同一文件中包含以下差异的提交:

 + return !regexec(regexp, two->ptr, 1, &regmatch, 0); ... - hit = !regexec(regexp, mf2.ptr, 1, &regmatch, 0); 

虽然git log -G"regexec\\(regexp"将显示此提交,
git log -S"regexec\\(regexp" --pickaxe-regex将不会(因为该字符串的出现次数未更改)。

有关更多信息,请参见gitdiffcore(7)中的镐头条目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM