Git日志 - 两种不同格式的日期?

时间:2013-07-16 05:23:33

标签: git

如何在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。有可能吗?

1 个答案:

答案 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:提交者日期,相对
  •   
相关问题