Git提交日期

284
除了分析 Git 日志以获取日期字符串外,是否有 Git 原生方法来报告特定提交的日期?

2
好东西:https://git-scm.com/docs/pretty-formats - Nevin Chen
7个回答

406
show命令可能是你想要的。试试看。
git show --no-patch --format=%ci <commit>

其他日期字符串的格式也是可用的。请查看手册页面获取详细信息。

27
获取提交记录但不包括差异,使用 log -1 而不是 show - Josh Lee
48
将“-s”添加到命令中: git show -s --format="%ci" <commit>意思是:显示指定提交的提交时间。 - aprock
12
给未来用户:您可以使用 %ai 查看 作者日期 - user541686
12
获取Unix时间戳:使用git show -s --format=%ct <commit>。 - xiaoweiz
9
如果您需要另一种日期格式,您可以使用命令 git show -s --format=%cd --date=short <commit>(会返回例如2016-11-02的结果)或者 git show -s --format=%cd --date=format:%Y <commit>(这个例子只会打印年份)。更多细节请参考此答案 - amoebe
显示剩余4条评论

38

如果您只想看到一个标签的日期,您可以执行以下操作:

git show -s --format=%ci <mytagname>^{commit}

结果是:2013-11-06 13:22:37 +0100

或者执行:

git show -s --format=%ct <mytagname>^{commit}

它给出了UNIX时间戳:1383740557


这似乎给出了标签指向的提交日期,而不是标签本身的日期。 - hoijui

27

如果您希望具有本地时区而无时区的时间戳,请执行以下操作

git log -1 --format=%cd --date=local

根据您的位置,可以得到以下结果:

Mon Sep 28 12:07:37 2015

是否可以一次将此应用于所有提交? - alper

10

如果您想自行格式化日期(或小时):

git show -s --date=format:'%Y%m%d-%H%M' --format=%cd  <commit id | default is the last commit>

# example output:
20210712-1948

7

您可以使用 git show 命令。

获取 git 仓库最后一次提交的日期,格式为 Unix 时间戳(long):

  • 命令: git show -s --format=%ct
  • 结果: 1605103148

注意:您可以访问git-show文档以获取更详细的选项说明。


2
如果您在使用Windows命令行命令和.bat文件时遇到问题,只需像这样转义百分号即可。
git show -s --format=%%ct

% 字符在命令行参数和 FOR 参数中有特殊含义。为了将百分号视为普通字符,请使用两个百分号:%%

语法:转义字符、定界符和引号


1

我知道这个问题很久以前就被问过了,而且我不知道这是哪个版本的git。

对于git版本2.37.3,命令为

git show -s

将显示作者日期,而不是提交日期。 要获取提交的提交日期,请使用

git log -1 --format=fuller 'commit hash'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接