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

时间:2017-02-22 11:08:05

标签: git github git-blame

根据here中的拉取请求,我们可以在文件中看到

  

/java/org/wso2/carbon/analytics/apim/internal/TemplateManagerInitializerComponent.java

已删除38,39和40行。现在我需要确定将这些行(删除了38,39和40行)添加到文件的提交哈希(哈希),但here中显示的文件的默认视图未显示已删除的历史记录线条。如何从github获取此信息。 提前致谢

1 个答案:

答案 0 :(得分:0)

尝试git log -S <string>

git log -S "import javax.xml.bind.JAXBException"

引用关于git help log及其堂兄-S的文档(-G):

  

-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)中的pickaxe条目。