git在特定提交中搜索差异

时间:2018-04-18 13:24:12

标签: git

在GIT中,我想找到一些文本已经改变的提交,但我只想搜索特定的提交。我试过了:

git log -S<my-search-text> <commit-hash1> <commit-hash2> <commit-hash3>

我想要搜索的提交不是范围。有谁知道如何做到这一点,还是有其他选择?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用所需的哈希值来点击git log的输出:

git log -S<my-search-text> |grep -E '<commit-hash1>|<commit-hash2>|<commit-hash3>'

请注意,您必须使用正则表达式,因此-E(您也可以使用egrep),并且必须对管道进行转义,因此您必须在引号内使用它们,或者{{{ 1}}。另一种语法是:

\|

根据您对此功能的使用情况,您可能有兴趣使用git log -S <my-search-text> |grep <commit-hash1> -e <commit-hash2> -e <commit-hash3> git diff

grep

这将显示提交范围内发生的每个更改,其中包含搜索文本。