You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git提交时是否记录本地时区(而非仅UTC偏移量)?

Git提交是否保存本地时区信息?

结论确认

Git 仅保存Unix时间戳和UTC偏移量,不会存储本地时区ID(如Europe/Copenhagen)或时区缩写(如CET/CEST)这类信息。

原因说明

Git的提交对象中,作者(author)和提交者(committer)字段的存储格式为:

name <email> timestamp offset

其中offset是UTC偏移量(例如+0100),没有额外字段记录本地时区的具体标识。这就是为什么你使用strftime的%Z格式符时没有输出——Git根本没保存这个数据。

同一个UTC偏移量可能对应多个时区(比如+0100覆盖欧洲中部时间CET、西非时间WAT等),Git无法仅凭偏移量反推出提交时的原始时区。

针对你场景的验证说明

以你的Ubuntu 20.04环境为例:

  • 系统timedatectl和date命令能显示CET/CEST,是因为系统本身维护了当前时区设置,但这个信息不会被Git写入提交对象。
  • git log --date=raw显示时间戳和偏移量,完全符合Git提交的存储内容;
  • --date=human不显示时区缩写,同样是因为Git没有相关数据可展示。

获取提交本地时区的可行方法

由于Git本身不存储该信息,只能通过间接方式处理:

  • 手动在提交信息中添加时区标注:提交时在说明末尾加上类似Timezone: CET或Timezone: Europe/Copenhagen的内容,后续可通过git log --grep="Timezone:"提取对应信息。
  • 针对自身提交的本地映射:如果你是提交者且本地时区未变更,可利用提交时间戳结合自己的系统时区设置,反推提交时的时区缩写,但此方法仅适用于你自己的提交,对他人提交无效。

内容的提问来源于stack exchange,提问作者sdbbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:52:12