扫码一下
查看教程更方便
本文概述了我们用于在 Git 历史记录中搜索特定字符串的不同方法。
浏览历史记录中的提交消息并不总能成功。 有时您想知道哪些提交受到特定变量或字符串的影响。
我们可以在 git log 命令中添加一些参数来搜索一个字符串,Git 会为我们提供在我们的 repo 历史记录中添加或删除该字符串的提交。 此功能使理解特定代码段的提交上下文变得简单。
在我们的第一个场景中,我们想要搜索提交消息包含单词 Update 的所有提交。 我们该怎么做?
我们将运行 git log 命令,如下所示。
$ git log --grep=Update
输出结果:
从上面的输出可以看出,Git 只给了我们带有单词 Update 的提交。
假设我们想搜索在文件中添加或删除了“php”字符串的提交。 我们该怎么做?
我们可以使用 -S 标志运行 git log
命令,如下所示:
$ git log -S "php"
输出结果:
要对此进行比较,我们将运行以下命令:
$ git log -S "php" -p | grep "php" -C5
如果您对字符串有很多提交,最好使用 difftool。 你可能会感到困惑,因为 Git 会给你一个大块的输出。
我们还可以使用带有 -G 参数的 git log
命令来搜索添加或删除的行与“php”匹配的差异,如下所示;
$ git log -G "php"
注意:
-G
接受正则表达式,而 -S
接受字符串。-S
参数将找到单词更改的提交,而 -G
在差异中搜索单词。我们可以向 git log
命令添加参数来操作输出。 我们讨论了如何使用常见场景在我们的提交历史记录中搜索字符串。