如何在旧提交内容中搜索术语,并在上下文中显示它?

How to search a term within old commit content, showing it within context?

要在提交文本中搜索,我们使用 git log -G SEARCHTERM。这列出了提交哈希和提交消息。

有没有办法像 grep 那样显示结果,在上下文中显示 SEARCHTERM

是的,添加 -p 选项。

参见https://git-scm.com/docs/git-log#_diff_formatting

By default, git log does not generate any diff output. The options below can be used to show the changes made by each commit.

[…]

-p
-u
--patch

Generate patch (see section on generating patches).

指的是https://git-scm.com/docs/git-log#_generating_patch_text_with_p

一个非常接近的事情是添加 -p :

git log -p -G SEARCHTERM

当您将 -p-G 结合使用时,git 将仅显示找到 SEARCHTERM 的文件。

对于那些文件,它会显示完整的差异,而不仅仅是 SEARCHTERM 出现的块。