在 Git 中过滤提交历史

本文讨论了您可以在 Git 中使用的各种命令来过滤您的提交历史记录。 我们使用 git log 命令来检查我们存储库中的提交历史记录。

您可以使用 git log 命令的多种组合来格式化输出,如下所示。

您可以通过以下方式过滤提交历史记录。


按数量过滤提交历史

使用下面的命令,您可以限制 git log 命令显示的提交数。

$ git log -4

上面的命令将输出我们存储库中最近的四次提交。


过滤最新的提交

要过滤最新的提交,您只需要指定数量。 如果我们想要最新的六个提交,我们可以运行:

$ git log -6

按日期过滤提交历史

您可以使用 --after--before 标志指定时间范围。 这些标志接受多种格式,我们将在下面看到。

$ git log --after="2022-7-27"

此命令仅显示我们在 2022 年 7 月 27 日之后创建的提交。我们可以传递相对引用,如下所示。

$ git log --after="yesterday"

您可以同时使用 --before--after ,如下例所示。

$ git log --after="2022-7-20" --before="2022-7-25"

您可以分别使用 --since--until 代替 --after--before


按作者过滤提交历史

我们可以通过将 --author 标志添加到我们的 git log 命令来显示来自特定作者的提交,如下所示。

$ git log --author="John"

上面的命令将显示其作者名称中包含短语 John 的提交。 您可以进行如下所示的复杂搜索。


按多个用户过滤提交历史

您可以使用以下命令过滤多个用户的提交历史记录。

$ git log --author="John\|Ann"

这样的命令将显示其作者名称中包含短语 John 或 Ann 的提交。


排除特定用户的提交

这是一个示例命令。

$ git log --perl-regexp --author='^((?!Chris).*)$'

上面的命令将显示作者姓名不包含 Chris 的所有提交。

总之,以上是我们最常用的过滤选项。 但是,您仍然可以向 git log 命令提供其他参数来过滤输出。

您还可以按消息、范围、文件和内容进行过滤。

查看笔记

扫码一下
查看教程更方便