GIT:找出在哪个提交中添加了特定的代码?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (58)

我想知道我在哪个提交中添加了以下代码:

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

我如何做到这一点?

提问于
用户回答回答于

git blame在文件上。它将为每一行显示提交ID、日期和时间以及提交日期和时间。然后,只需复制提交标识符,就可以在git log <commit>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,然后是名称,然后是日期、时间、时区,最后是行号和行内容。

用户回答回答于

有比对整个文件发出指责更快的事情。如果线路是${lineno}文件是${filename}你可以:

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

例子:

git blame -L 2,2 test.txt

扫码关注云+社区