如何在git log
输出中设置日期格式,以便日期以不同的格式显示?
hist = log --all --graph\n--pretty=format:'%Cred%h%Creset %ad -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\n--abbrev-commit --date=relative
我希望第一个日期为--date=local
,最后一个日期为--date=relative
。有可能吗?
答案 0 :(得分:2)
<强>更新强>
所以我错了,--format
可以与--abbrev-commit
和--date=relative
标志一起使用,所以问题严重在于你的命令中\n
的存在。然而,标志仍然是不必要的,因为他们的占位符已经在你的命令中,正如我在下面解释的那样。
--format
选项似乎与--abbrev-commit
和--date=relative
选项不兼容。如果你删除它们,你会得到你想要的。您的命令中还有\n
,它不是格式的一部分,也不是命令的合法参数,因此也应删除它们:
hist = log --all --graph --pretty=format:'%Cred%h%Creset %ad -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
此外,--abbrev-commit
和--date=relative
标志是不必要的,因为%h
已经为您提供了缩写提交,%ad
自动默认为用户的本地时间(如果他们尚未设置log.date
配置变量),%cr
以相对时间显示日期(例如“7天前”)。
来自the official Kernel Git documentation for git log
:
Commit Formatting
log.date
config变量为log命令的--date
选项设置默认值。
--date=default
显示原始时区(提交者或作者)的时间戳。Pretty Formats
%h
:缩写提交哈希%ad
:作者日期(格式尊重--date=
选项)%cr
:提交者日期,相对