我在日志数据格式中并没有看到UTC格式(见此答案)。
从您提供的格式中,最接近的是:
git config log.date local
C:\Users\VonC\prog\git\git\>git show --quiet HEAD --pretty=format:"{\"hash\":\"%h\", \"author\":\"%cn\", \"commit date\":\"%cd\"}"
{"hash":"b594c97", "author":"Junio C Hamano", "commit date":"Thu Jan 23 10:00:28 2014 -0800"}
C:\Users\VonC\prog\git\git\>git config log.date local
C:\Users\VonC\prog\git\git\Documentation\technical>git show --quiet HEAD --pretty=format:"{\"hash\":\"%h\", \"author\":\"%cn\", \"commit date\":\"%cd\"}"
{"hash":"b594c97", "author":"Junio C Hamano", "commit date":"Thu Jan 23 19:00:28 2014"}
所以从ISO的角度来看:
"Thu Jan 23 10:00:28 2014 -0800"
本地化:
"Thu Jan 23 19:00:28 2014"
正如评论所述,这不是UTC时间,除非您的机器本地时间已经是UTC。
在邮件列表上讨论过:
添加user.hideTimezone
以设置UTC时区
默认情况下,创建并共享提交会暴露用户的时区。
"commit --date=YYYY-MM-DDThh:mm:ss+0000
"足以将作者时间设置为UTC,但提交时间并非UTC。
但用户根本不应该传递任何标志。
Git应完全停止访问、记录和共享用户的时区,就此打住。
如果无法做到这一点,Git默认情况下应停止访问、记录和共享用户的时区,但如果个别用户希望在其提交中包含时区信息,则可以选择加入。
Git维护者Junio C. Hamano回答道:
You are free to run
$ TZ=GMT git commit
if you wanted to opt out of the feature, but this has been the
default since day one and people expect Git to behave this way.
此外:
For now, using the --date
argument on git commit allows you to also pass a timezone:
git commit --date="$(TZ=PST date)"
这个补丁(用于添加user.hideTimezone
)尚未完全开发。