如何用`git log`搜索更改并显示匹配的行?

问题描述:

我可以使用git log -G search_term来显示提交,其中包含字符串search_term的行被添加或删除,但这只显示像提交消息和日期这样的元数据,而不是实际的匹配行。如何用`git log`搜索更改并显示匹配的行?

我想喜欢一些输出:

some_hash: filename.c: + if search_term == True 

是无需编写一个shell脚本,这可能与在Git中的可用选项?

您可以通过使用-p显示与日志消息一起完整的补丁:

git log -G search_term -p 
+0

这是迄今为止最好的,但如果你在众多提交匹配和一些这些提交的差异文件,都大,它仍然很难看看比赛在哪里。即使我在'less'输出中再次搜索search_term,我仍然坚持使用BRE而不是'git'提供的ERE。 – DBedrenko 2015-03-02 16:18:51

+0

也许'| grep search_term' – eckes 2015-03-02 16:20:42

+0

缺少必要的上下文:即提交哈希和文件名。我想我将不得不写一个脚本来做到这一点。无论如何感谢您的回答,我不知道'-p' :)这很有帮助。 – DBedrenko 2015-03-02 16:23:49