小编典典

如何更改 Git 日志日期格式

all

我试图在 Git 中显示最后一次提交,但我需要特殊格式的日期。

我知道日志漂亮格式%ad尊重--date格式,但我能找到的唯一--date格式是“短”。我想知道其他人,以及我是否可以创建一个自定义的,例如:

git -n 1 --date=**YYMMDDHHmm** --pretty=format:"Last committed item in this release was by %%an, %%aD, message: %%s(%%h)[%%d]"

阅读 182

收藏
2022-07-27

共1个答案

小编典典

其他是(来自git help log):

--date=(relative|local|default|iso|rfc|short|raw)
  Only takes effect for dates shown in human-readable format,
  such as when using "--pretty".  log.date config variable
  sets a default value for log command鈥檚 --date option.

--date=relative shows dates relative to the current time, e.g. "2 hours ago".

--date=local shows timestamps in user鈥檚 local timezone.

--date=iso (or --date=iso8601) shows timestamps in ISO 8601 format.

--date=rfc (or --date=rfc2822) shows timestamps in RFC 2822 format,
  often found in E-mail messages.

--date=short shows only date but not time, in YYYY-MM-DD format.

--date=raw shows the date in the internal raw git format %s %z format.

--date=default shows timestamps in the original timezone
  (either committer鈥檚 or author鈥檚).

我知道没有创建自定义格式的内置方法,但你可以做一些 shell 魔术。

timestamp=`git log -n1 --format="%at"`
my_date=`perl -e "print scalar localtime ($timestamp)"`
git log -n1 --pretty=format:"Blah-blah $my_date"

这里的第一步为您提供毫秒时间戳。您可以根据需要更改第二行以格式化该时间戳。此示例为您提供类似于 的--date=local内容,但有一个填充日。


如果您想要永久效果而无需每次都输入,请尝试

git config log.date iso

或者,为了影响您使用此帐户的所有 git 使用

git config --global log.date iso
2022-07-27