输出应类似于git log,没有任何文件和代码更改,只是提交消息简短,如下所示:
commit <sha1>
Author: <author>
Commit: <committer>
<title line>
<full commit message>
Run Code Online (Sandbox Code Playgroud)
我有一些git显示的技巧,其中git的漂亮或格式设置为“完整”,但我不知道如何使用它。
我使用这个脚本(作为别名):
\n\nhttps://github.com/vheon/home/blob/master/.githelpers
\n\ngit 别名:
\n\nl = "!bash -c \'source ~/.githelpers && pretty_git_log\'"\n
Run Code Online (Sandbox Code Playgroud)\n\n输出是这样的:
\n\n\n\n您必须使用自己的git log --pretty=format
选项。
在中--pretty
您可以设置颜色并选择您想要显示的任何内容
\n\n\n\n\n
format:<string>
format:格式允许您指定要显示的信息。它的工作方式有点像 printf 格式,但值得注意的例外是换行符为 %n 而不是 \\n。
\n\n例如,格式:
\nThe author of %h was %an, %ar%nThe title was >>%s<<%n
会显示如下内容:
The author of fe6e0ee was Junio C Hamano, 23 hours ago\nThe title was >>t4119: test autocomputing -p<n> for traditional diff input.<<\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n\n\n
The placeholders are
:\n\n
%C(\xe2\x80\xa6):
颜色规范,如 color.branch.* 配置选项中所述;在开头添加 auto, 仅当为日志输出启用颜色时才会发出颜色(通过 color.diff、color.ui 或 --color,如果我们要访问终端,则尊重前者的自动设置)。单独使用 auto(即 %C(auto))将在下一个占位符上打开自动着色,直到再次切换颜色。\n\n
%C(\xe2\x80\xa6):
颜色规范,如 color.branch.* 配置选项中所述;在开头添加 auto, 仅当为日志输出启用颜色时才会发出颜色(通过 color.diff、color.ui 或 --color,如果我们要访问终端,则尊重前者的自动设置)。单独使用 auto(即 %C(auto))将在下一个占位符上打开自动着色,直到再次切换颜色。\n
%Cblue:
将颜色切换为蓝色
\n%Cgreen:
将颜色切换为绿色
\n%Cred:
将颜色切换为红色
\n%Creset:
重置颜色
\n%D:
引用名称不带“(”、“)”换行。
\n%G?:
显示“G”表示良好签名,“B”表示错误签名,“U”表示良好的、不受信任的签名,“N”表示无签名
\n%GG:
来自 GPG 的原始验证消息,表示已签名的提交
\n%GK:
显示用于签署签名提交的密钥
\n%GS:
显示签名提交的签名者姓名
\n%H:
提交哈希
\n%N:
提交注释
\n%P:
父哈希
\n%T:
树哈希
\n%aD:
作者日期,RFC2822 样式
\n%aE:
作者电子邮件(尊重 .mailmap ,请参阅 git-shortlog(1) 或 git-blame(1))
\n%aI:
作者日期,严格的 ISO 8601 格式
\n%aN:
作者姓名(尊重 .mailmap,请参阅 git-shortlog(1) 或 git-blame(1))
\ n%ad:
作者日期(格式遵循 --date= 选项)
\n%ae:
作者电子邮件
\n%ai:
作者日期,类似 ISO 8601 的格式
\n%an:
作者姓名
\n%ar:
作者日期,相对
\n%at:
作者日期,UNIX 时间戳
\n%b:
正文
\n%cD:
提交者日期,RFC2822 样式
\n%cE:
提交者电子邮件(尊重 .mailmap,请参阅 git-shortlog(1) 或 git-blame(1))
\n%cI:
提交者日期,严格的 ISO 8601 格式
\n%cN:
提交者名称(尊重 .mailmap,请参阅 git-shortlog( 1) 或 git-blame(1))
\n%cd:
提交者日期(格式遵循 --date= 选项)
\n%ce:
提交者电子邮件
\n%ci:
提交者日期,类似 ISO 8601 的格式
\n%cn:
提交者名称
\n%cr:
提交者日期,相对
\n%ct:
提交者日期,UNIX 时间戳
\n%d:
引用名称,如 git-log(1) 的 --decorate 选项
\n%e:
编码
\n%f:
净化的主题行,适合文件名
\n%gD:
引用日志选择器,例如 refs/stash@{1}
\ n%gE:
reflog 身份电子邮件(尊重 .mailmap,请参阅 git-shortlog(1) 或 git-blame(1))
\n%gN:
reflog 身份名称(尊重 .mailmap,请参阅 git-shortlog(1) 或 git-blame(1))
\ n%gd:
缩短的引用日志选择器,例如 stash@{1}
\n%ge:
引用日志身份电子邮件
\n%gn:
引用日志身份名称
\n%gs:
引用日志主题
\n%h:
缩写的提交哈希
\n%m:
左、右或边界标记从十六进制代码打印一个字节
\n%n:
换行符
\n%p:
缩写的父哈希
\n%s:
主题
\n%t:
缩写的树哈希
\n%w([<w>[,<i1>[,<i2>]]]):
切换换行,如 git-shortlog(1) 的 -w 选项。
\n%x00:
git show --format="YOUR_FORMAT" -s
-s
抑制差异显示。
YOUR_FORMAT
记录在:
man git-log
Run Code Online (Sandbox Code Playgroud)
部分 PRETTY FORMATS
例如,要获得一些 SHA 的提交 SHA 和作者电子邮件:
git show --format="%H %ae" -s 62f6870e4e0b384c4bd2d514116247e81b241251 96ee0246ce52012644dd18cf360e64c49016fb7f
Run Code Online (Sandbox Code Playgroud)
给出格式输出:
62f6870e4e0b384c4bd2d514116247e81b241251 author@mail.com
96ee0246ce52012644dd18cf360e64c49016fb7f author@mail.com
Run Code Online (Sandbox Code Playgroud)
要向格式添加换行符和更多字段,您可以执行以下操作:
git show --format=$'%H\n%ae\n%an\n' -s 62f6870e4e0b384c4bd2d514116247e81b241251 96ee0246ce52012644dd18cf360e64c49016fb7f
Run Code Online (Sandbox Code Playgroud)
这给出了表单的输出:
62f6870e4e0b384c4bd2d514116247e81b241251
author@mail.com
Ciro Santilli
96ee0246ce52012644dd18cf360e64c49016fb7f
author@mail.com
Ciro Santilli
Run Code Online (Sandbox Code Playgroud)
你应该使用
git log --oneline
Run Code Online (Sandbox Code Playgroud)
仅查看标题和哈希的开头。
欲了解更多信息,请查看git help log
。