在Git中找到第一行代码

zad*_*dam 5 git git-blame

我试图跟踪一段代码(只是一行)到它的提交.

使用blame只会指向一个提交,其中这个行被作为提取方法样式重构的一部分移动.

我可以使用哪些技术来进行提交,这是第一次在代码库中存在特定文本?

小智 9

正如指出的这个答案的git:寻找新的commit引入了一个字符串,你可以简单地使用

git log -S <line>
# or
git log -G <regex>
Run Code Online (Sandbox Code Playgroud)

查找存储库中第一次出现的代码行.

官方Linux内核Git文档中log:

-S<string>
Run Code Online (Sandbox Code Playgroud)

寻找引入或删除实例的差异<string>.请注意,这与简单地出现在diff输出中的字符串不同; 看到入门gitdiffcore(7)了解更多详情.

-G<regex>
Run Code Online (Sandbox Code Playgroud)

查找添加或删除的行与给定行匹配的差异<regex>.