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

Git log用--date=format-local参数报unknown date format错误求助

解决Git log中--date=format-local参数报错的问题

这个问题我之前在旧版本Git环境里踩过坑,核心原因其实很明确:你的Ubuntu Docker容器里的Git版本太老了!

为什么会出现这个报错?

--date=format-local是Git 2.25.0版本才正式引入的特性,专门用来按照本地时区格式化日期输出。如果你的容器里Git版本低于2.25.0,这个参数会被识别为完全未知的格式,直接抛出fatal: unknown date format错误。

先验证Git版本

先确认下容器内的Git版本,执行这条命令:

git --version

如果输出的版本号小于2.25.0,那百分百是版本问题没跑了。

两种解决方案

方案1:升级容器内的Git版本

根据你Ubuntu容器的系统版本,选择对应的升级方式:

  • 如果你用的是Ubuntu 20.04及以上版本,直接用apt升级即可:
    apt update && apt install -y git
    
  • 如果你用的是Ubuntu 18.04或更早版本,默认软件源里的Git版本偏低,需要添加PPA源来升级:
    apt update && apt install -y software-properties-common
    add-apt-repository ppa:git-core/ppa
    apt update && apt install -y git
    

升级完成后再执行你的git log命令,应该就能正常输出了。

方案2:不升级Git,用替代方法实现本地时区格式化

如果因为权限或环境限制没法升级Git,可以用--date=format(默认UTC时区)配合date命令转换为本地时区,比如:

git log --pretty=format:"%ad" --date=format:"%Y-%m-%d %H:%M:%S" | while read utc_dt; do
  date -d "$utc_dt" +"%y-%m-%d %k:%M"
done

注意这里--date=format的输出格式要和date命令的输入格式匹配,才能保证时区转换的准确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:30:19