解决使用git命令查看的某次提交时间与git log中显示的不一致的问题

这篇具有很好参考价值的文章主要介绍了解决使用git命令查看的某次提交时间与git log中显示的不一致的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

笔者的使用环境:

  • 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

解决使用git命令查看的某次提交时间与git log中显示的不一致的问题


解决办法

  为什么上面那个命令是错的呢?因为上面那个命令使用了参数 %ci,这个参数实际上显示的是提交时间。如果想显示 作者日期,应该使用以 a 开头的参数,如 %ai。所以上面的命令应该改为:

git show -s --format="%ai" 某个提交的哈希值

【附录】

  关于前缀 ac 更多的参数,可见官方文档:https://git-scm.com/docs/git-show

解决使用git命令查看的某次提交时间与git log中显示的不一致的问题

解决使用git命令查看的某次提交时间与git log中显示的不一致的问题


  另外,如果想查看某次提交的 作者日期,也可用如下代码:

git log --pretty=format:"%ad" -n 1 某个提交的哈希值

参考资料

https://git-scm.com/docs/git-show

https://git-scm.com/docs/git-log文章来源地址https://www.toymoban.com/news/detail-431957.html

到了这里,关于解决使用git命令查看的某次提交时间与git log中显示的不一致的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git log查看项目中各成员的代码提交情况,行数,次数等

            项目中通过git来提交代码后,可以通过git log的不同命令来查看项目中各成员的代码提交情况,行数,次数。 1、查看所有的提交日志,回车查看更多,不过太多会卡死,需要重新开 2、查询项目中所有用户的提交总次数, *这个命令只能用git的小黑框输入,注意,复制

    2024年04月13日
    浏览(52)
  • git命令的基本使用(设置用户名、密码、提交、拉取、回退、分支、查看历史版本等)

    1. 首先就是初始化 git init 命令,然后打开文件显示隐藏文件,就能看到一个.git文件,该文件有就代表git初始化成功了。 2. 设置git用户名和密码,正常一个项目的远程库肯定会有人员权限的,只有开源的项目可以不用设置用户名和密码的:    2.1 用户名设置命令  git config

    2024年02月04日
    浏览(81)
  • git 撤销中间某次提交,保留其他提交的方法

    今天上班脑抽了,吧test直接合到了uat,因为项目近期就我一个人开发,自己拉个三个分支再改不同的东西,最后都是发到test分支发测试,发生产的时候一个个和嫌麻烦,直接吧test分支怼到了uat,结果生产就出问题了,之前同事改的代码合了test,但是还没改完,不能上生产,

    2024年02月12日
    浏览(42)
  • Git查询某次提交属于哪个分支

    在Android studio左下角,可以看到所有提交信息。 选中某一次提交信息,右键,选择“Copy Revision Number”,如下图: 打开Android studio的Terminal,输入 git branch --contains c532f4f59291808b7cc018bceb9fa275e4bbd6f4 --all ,中间的那串数字是commit ID,替换成你自己的。等一会儿,就会显示这次提交

    2024年02月12日
    浏览(58)
  • git 如何撤销某次远程仓库的提交

    要撤销某次远程仓库的提交,可以按照以下步骤操作: 首先使用 git log 命令查看需要撤销的提交的 SHA-1 值。例如: 上面的 git log 输出显示两个提交,其中最新的提交是一个被称为“revert commit”的提交,它用于撤销另一个提交(即前一个提交)。 使用 git revert 命令来创建一

    2024年02月11日
    浏览(52)
  • git diff查看比对两次不同时间点提交的异同

    用 git diff命令: 不同commit-id在不同的时间点提交产生,因为也可以认为git diff是比对两个不同时间点的代码异同。 git diff比较不同commit版本的代码文件异同_git diff commit-CSDN博客 文章浏览阅读2.3w次。git diff比较不同commit版本的代码文件异同 如图,假设像知道app目录下的build.g

    2024年02月20日
    浏览(46)
  • git 查看某次commit对应修改的文件

    如果不指定commit_id 默认展示最近一次commit修改的文件 如果 git log 也想看到每次commoit 修改的文件 diff 也能用这个参数

    2024年02月12日
    浏览(47)
  • git把一个分支上的某次提交同步到另一个分支上

    如果你需要把一个分支上的某次修改的提交记录合并到另外一个分支上,很简单: 1、可以使用git log 命令 或去gitlab界面找   commit的ID号,比如 aabb4d0203 2、切换到目标分支上(即在要合并到的分支上),执行命令: 就会挑拣出这次提交中的文件信息. 备注: 如果要取消这次 c

    2024年02月04日
    浏览(44)
  • git-新建分支与提交代码命令(附删除、切换、查看、合并分支)

    注意:在你新建分支之前,你应该在master分支,并且要保证你当前的是最新代码,要不然最后提交代码就会出问题。 新建分支并切换到该分支: 在新建的分支上写完代码之后,就可以提交代码了。此时应该在你新建的分支上 注意:有报错就先pull一下代码再提交  

    2024年02月14日
    浏览(108)
  • Git第十讲 Git如何正确使用log快速查找内容/提交

    在Git中,你可以使用不同的命令来快速查找指定内容或指定提交。下面我将介绍两种常用的方法。 要快速查找包含特定内容的文件或代码行,可以使用 git grep 命令。它类似于常见的 grep 命令,但是专门用于搜索Git仓库中的文件。 以下是使用 git grep 命令的示例: 在上述命令

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包