如何在repo中git grep每个提交只显示包含添加单词的行的提交 我正在寻找一个单词'introduction',我需要找到一个添加了该单词的提交,但不是在提交的消息中,而是在已经提交的文件的文本中。 另外,我需要使用'git grep'而不是grep
我的问题不是重复,因为建议的问题只回答一般如何使用grep我要求更具体,而不是如何使用grep但如何使用grep查找特定信息
答案 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
并在那里搜索。