问题描述
笔者的使用环境:
Git 2.37.0.windows.1
TortoiseGit 2.11.0.0
IntelliJ IDEA 2022.3.1 (Ultimate Edition)
笔者遇到一个问题,需要查看 Git 某个提交(commit)的时间,但是发现使用 Git 命令查看的时间与命令 git log
、TortoiseGit、IntelliJ IDEA 中显示的不一致。而后三者显示的是一致的。
笔者查看提交时间 Git 命令如下。
git show -s --format=%ci 某个提交的哈希值
而且,更令人疑惑的是,对连续不同的提交,上面的那个命令显示的时间都是一样的。
缘由
经过不断的摸索,笔者终于明白了其中的缘由。
Git 对每一个提交的时间分为两个:
-
作者日期(author date):这指的是最开始提交时,所产生的提交文件上的日期
-
提交者日期(committer date):这指的是对这个提交最后一次操作的日期
这有点类似于操作系统中文件的创建时间与修改时间。
更多的信息,可见笔者的另一篇博客:
对于 Git 每一次提交的时间信息,什么是作者日期和提交者日期:
https://blog.csdn.net/wangpaiblog/article/details/130570779
上面那个命令显示的是提交者时间,而命令 git log
、TortoiseGit、IntelliJ IDEA 中显示的时间是 作者日期
,因此上面那个命令是错的。
【提示】
如果想同时显示一个 Git 命令的 作者日期
和 提交者日期
,可以使用如下 Git 命令:
git log --format=fuller
更多的信息,可见官方文档:https://git-scm.com/docs/git-log
解决办法
为什么上面那个命令是错的呢?因为上面那个命令使用了参数 %ci
,这个参数实际上显示的是提交时间。如果想显示 作者日期
,应该使用以 a
开头的参数,如 %ai
。所以上面的命令应该改为:
git show -s --format="%ai" 某个提交的哈希值
【附录】
关于前缀 a
、c
更多的参数,可见官方文档:https://git-scm.com/docs/git-show
另外,如果想查看某次提交的 作者日期
,也可用如下代码:
git log --pretty=format:"%ad" -n 1 某个提交的哈希值
参考资料
https://git-scm.com/docs/git-show文章来源:https://www.toymoban.com/news/detail-431957.html
https://git-scm.com/docs/git-log文章来源地址https://www.toymoban.com/news/detail-431957.html
到了这里,关于解决使用git命令查看的某次提交时间与git log中显示的不一致的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!