如何grep repo中的每个提交只显示包含添加单词的行的提交

时间:2018-05-05 06:32:49

标签: git grep

如何在repo中git grep每个提交只显示包含添加单词的行的提交 我正在寻找一个单词'introduction',我需要找到一个添加了该单词的提交,但不是在提交的消息中,而是在已经提交的文件的文本中。 另外,我需要使用'git grep'而不是grep

我的问题不是重复,因为建议的问题只回答一般如何使用grep我要求更具体,而不是如何使用grep但如何使用grep查找特定信息

1 个答案:

答案 0 :(得分:0)

你可以使用git的“pickaxe search”(我更喜欢这个用例的git grep)和grep一起。

git log -p --all -G regex | grep regex

这还包括“正则表达式”的删除,这不是你要求的,但它接近你所要求的。

如果您需要更多上下文,可以向grep提供参数以提供更多上下文,或者使用更少的上下文:

git log -p --all -G regex | less 

在更少的内容中,您需要按 / ,然后再次键入搜索正则表达式并按 Enter 。那会找到第一场比赛。要查找下一个匹配项,您只需再次按 / Enter

或者,您可以将整个结果输出到文件myfile

git log -p --all -G regex > myfile

并在文本编辑器中打开myfile并在那里搜索。