You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Git Log单行输出中标记多行提交消息?

给带多行提交消息的Git日志添加标记

你当前使用的Git日志别名如下:

[alias]
  ls = log --source --graph --pretty=format:'%C(yellow)%h %Creset[%ad] %s %C(green)[%an]%C(red)%d'

这个别名基于git log --pretty=oneline修改,输出为单行格式,但无法直观判断哪些提交包含主题之外的非空消息体。

要实现给带非空消息体的提交添加标记(比如示例中的^_^),可以修改别名,利用Git的格式化条件判断语法:

[alias]
  ls = log --source --graph --pretty=format:'%C(yellow)%h %Creset[%ad] %s %C(green)[%an]%C(red)%d%(!%b? %C(blue)^_^ : )'

语法说明

  • %b:获取提交的消息体内容(主题之后的部分)
  • !%b:判断消息体是否非空
  • %(!%b? <标记内容> : ):如果消息体非空,输出指定标记;否则输出空内容
  • %C(blue):给标记添加蓝色(可根据需求调整颜色)

修改后的日志输出效果如下:

* b928fd3e7aef [2022-11-15] refactor: rename field of Definitions struct [Author Name] (HEAD -> master, origin/master)
* ecf0e00d0fc3 [2022-11-15] feat: deserialize definitions into a custom struct [Author Name]
* 13651af5e52f [2022-11-15] refactor: change library name [Author Name] ^_^
* 94f6694b43c2 [2022-11-15] feat: add func for making GET requests to api [Author Name]
* adf64f3dc2a2 [2022-11-15] feat: add enum for representing operation types [Author Name]
* 7df54e9305e7 [2022-11-15] feat: add struct to represent api [Author Name]
* 3bde60087494 [2022-11-14] Initial commit [Author Name]

内容的提问来源于stack exchange,提问作者3N4N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:55:30