【问题标题】:Git log: "unknown date format"Git 日志:“未知日期格式”
【发布时间】:2018-09-06 08:18:05
【问题描述】:

这是我正在运行的命令,它的错误:

# git log --pretty=format:"%ad" --date=format-local:"%y-%m-%d %k:%M"
fatal: unknown date format format-local:%y-%m-%d %k:%M

同样的命令在其他机器上也能正常工作。我在 ubuntu docker 容器中遇到了这个错误。其他格式抛出相同的错误:

# git log --pretty=format:"%ad" --date=format-local:"%M"
fatal: unknown date format format-local:%M
# git log --pretty=format:"%ad" --date=format-local:"%m"
fatal: unknown date format format-local:%m
# git log --pretty=format:"%ad" --date=format:"%m"
fatal: unknown date format format:%m

似乎我缺少一个不属于 docker 映像的日期格式依赖项。

编辑:我使用的是 git 版本 1.9.1。

【问题讨论】:

    标签: git docker git-log strftime


    【解决方案1】:

    使用git --version查看你正在运行的Git版本。

    --date=format:<em>strfime-format</em> 是 Git 2.6.0 版中的新功能。如果您在具有较旧版本 Git 的环境中运行,则根本不可用。

    --date=format-local: 功能是 Git 2.7.0 版中的新功能(因此在这两者之间您可以使用format:,但不能使用format-local:,即使您可以使用--date=local)。

    【讨论】:

    • 就是这样。用sudo apt update &amp;&amp; sudo apt upgrade git 修复它。
    • 实际上,docker 镜像不会升级到 v1.9.1,但我用these instructions 修复了它。我现在使用的是 2.16.5 版本,但 format-local 正在工作。
    • Git 1.9 现在已经很古老了。我所知道的唯一更糟糕的是 CentOS,它卡在 1.7 上。不过,有时能够处理非常旧的软件版本很有用,这就是版本控制的用武之地。:-) 实际上,我通过查看 Git 的 Git 存储库找到了上述版本号。
    • 我还发现 2.7.4 之前的 git 版本存在严重漏洞(CVE-2016-2324 & CVE-2016-2315)。在这种情况下绝对值得升级。
    • 在 Ubuntu 14 上升级 Git 我们需要这样:askubuntu.com/a/579591/768956
    猜你喜欢
    • 2011-12-12
    • 2011-04-07
    • 1970-01-01
    • 2014-07-03
    • 2019-12-28
    • 2017-01-13
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多