📜  如何使用 Git Log 格式化提交历史?(1)

📅  最后修改于: 2023-12-03 15:08:18.815000             🧑  作者: Mango

如何使用 Git Log 格式化提交历史?

git log是Git版本控制中一个非常有用的命令,它可用于查看提交历史,包括谁对库进行了更改、何时更改以及对应的提交信息。但默认情况下,git log输出的提交历史可能会非常混乱和难以阅读。

因此,使用Git Log格式化提交历史是非常有必要的。 这可以使提交历史更加清晰、直观并且易于阅读。下面是一些使用git log命令的格式选项,以优化你的提交历史。

基本用法

请输入以下命令来获得Git提交历史:

git log

这将以默认格式显示提交历史。默认格式显示每个提交的 SHA-1 校验值、作者、提交日期、commit message。如下所示:

commit 4db11fd4d4ed6f3e6e3da6b2821906f930ec3a3f
Author: John Doe <johndoe@example.com>
Date:   Sun Oct 1 14:08:12 2017 -0700

    Add new feature

commit 03268f1fae96963eb32f42b691d927b40de9200c
Author: John Doe <johndoe@example.com>
Date:   Fri Sept 29 06:04:59 2017 -0700

    Change configuration file
显示详细信息

可以使用以下命令来获得更详细的提交信息:

git log --stat

上述命令将列出每个提交的文件更改统计信息、作者、提交日期和提交信息。输出结果如下所示:

commit 4db11fd4d4ed6f3e6e3da6b2821906f930ec3a3f
Author: John Doe <johndoe@example.com>
Date:   Sun Oct 1 14:08:12 2017 -0700

    Add new feature

 app/controllers/home_controller.rb      | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 03268f1fae96963eb32f42b691d927b40de9200c
Author: John Doe <johndoe@example.com>
Date:   Fri Sept 29 06:04:59 2017 -0700

    Change configuration file

config/application.rb |     2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

通过设置优化命令,git log命令可以在提交历史的信息中包括更详细的信息。

自定义格式

使用以下命令来自定义输出格式:

git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short

该命令将输出相同的内容,以及每个提交的短SHA-1校验值、提交日期、提交信息、作者、commit message的来源。它还使用-graph选项添加了一个简单的提交历史图形。输出结果如下所示:

* 4db11fd 2017-10-01 | Add new feature (HEAD -> master) [John Doe]
| * 03268f1 2017-09-29 | Change configuration file [John Doe]
|/
过滤结果

你可以添加以下选项来过滤提交历史:

  • --until: 只显示符合特定日期条件的提交。
  • --since: 仅显示特定日期之后的提交。
  • --author: 只显示特定作者的提交。
  • --grep: 只显示匹配特定文本的提交。
参考文献:
  1. Git Log Documentation
  2. A Git Log Customization Guide