109

我想知道我在哪个提交中添加了下面给出的代码:

if (getListView().getChildCount() == 0)
                getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);

我如何实现这一目标?

4

5 回答 5

104
git log -S searchTerm

为您提供引入搜索词的提交。

于 2017-07-01T10:49:48.130 回答
88

git blame在文件上运行。它会向您显示每行的提交 ID、日期和时间以及提交者。然后只需复制提交标识符,您就可以在git log <commit>or中使用它git show <commit>

例如,我有一个名为 test.txt 的文件,在不同的提交上添加了行:

$ cat test.txt
First line.
Second line.

运行git blame

$ git blame test.txt
^410c3dd (Leigh 2013-11-09 12:00:00 1) First line.
2365eb7d (Leigh 2013-11-09 12:00:10 2) Second line.

第一位是提交 ID,然后是名称,然后是日期、时间、时区,最后是行号和行内容。

于 2013-11-09T10:56:47.983 回答
47

有比对整个文件发出责备更快的方法。如果该行是${lineno}并且文件是${filename}您可以:

git blame -L ${lineno},${lineno} ${filename}

例子:

git blame -L 2,2 test.txt
于 2013-11-09T14:01:33.907 回答
32
git log -S "mention here line of code" [file-path]    

例如:

git log -S "First line" test.txt         

提供文件名及其路径是显而易见的,因为大多数时候,我们想知道是谁在特定文件中引入了特定代码段。

于 2018-04-25T06:04:21.767 回答
0

如果代码在Git存储库中维护,并且intellij使用 IDE 以及 Git 插件来浏览代码,那么我发现以下方式非常直观:

  1. 打开文件在intellij
  2. 转到上下文菜单 -> Git -> 注释。
  3. 将出现新窗口,其中新窗口中的每一行都告诉谁提交了该行。

以下截图供参考:

在此处输入图像描述

于 2020-08-01T16:04:49.010 回答