表示提交消息在git日志中为多行online

cgh8pdjw  于 2022-11-20  发布在  Git
关注(0)|答案(1)|浏览(123)

我使用下面的别名来显示git日志:

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

它基本上是git log --pretty=oneline的修改版。

* 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]

由于日志是单行显示的,所以不清楚某个提交消息是否跨越了多行。如果排序指示器标记该提交有多行消息,那就很完美了。我不想显示提交消息的正文,我只想显示一个标记 if 提交消息的正文不为空。
类似于以下内容(注意emoji ^_^在提交13651af5e52f时充当标记,它有一个多行提交消息):

* 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]

注意,我所说的“正文”是指提交消息中“主题”之后的部分。

hgncfbus

hgncfbus1#

如果 你 只 想 显示 包含 标记 的 提交 , 你 可以 通过 grep 输出 , 类似 于 :
x1月 1 日
我 相信 你 可以 修改 git log 的 别名 来 搜索 特定 的 文本 , 但 不能 马上 记住 语法 - - 你 也 可以 通过 在 提交 体 中 搜索 反 斜杠 n 个 换行符 来 显示 多 行 提交 体 , 而 不是 标记 ?

相关问题