我试图在 Git 中显示最后一次提交,但我需要特殊格式的日期。
我知道日志漂亮格式%ad尊重--date格式,但我能找到的唯一--date格式是“短”。我想知道其他人,以及我是否可以创建一个自定义的,例如:
%ad
--date
git -n 1 --date=**YYMMDDHHmm** --pretty=format:"Last committed item in this release was by %%an, %%aD, message: %%s(%%h)[%%d]"
其他是(来自git help log):
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内容,但有一个填充日。
--date=local
如果您想要永久效果而无需每次都输入,请尝试
git config log.date iso
或者,为了影响您使用此帐户的所有 git 使用
git config --global log.date iso