0


对于 Git 每一次提交的时间信息,什么是作者日期和提交者日期

文章目录

什么是作者日期和提交者日期

对于 Git 的每一次提交,在 TortoiseGit 和 IntelliJ IDEA 都可以看到这次提交的时间。但很多人不知道的是,Git 实际上对每一个提交的时间分为两个:作者日期和提交者日期。

  • 作者日期(author date):这指的是最开始提交时,所产生的提交文件上的日期
  • 提交者日期(committer date):这指的是对这个提交最后一次操作的日期

这有点类似于操作系统中文件的创建时间与修改时间。

当使用 Git 进行一次提交时,这次提交的时间就会变成

作者日期

。如果以后因为某种原因对这次提交进行了一些修改、压缩等操作,则对这个提交最后一次操作的日期就会变成

提交者日期

所以一般情况下,

提交者日期

不会早于

作者日期

如何查看作者日期和提交者日期

方法 1

如果想同时显示一个 Git 命令的

作者日期

提交者日期

,可以使用如下 Git 命令:

git log --format=fuller

更多的信息,可见官方文档:https://git-scm.com/docs/git-log

在这里插入图片描述

方法 2

  • 查看作者日期:git log --pretty=format:"%ad" -n 1 某个提交的哈希值
  • 查看提交者日期:git log --pretty=format:"%cd" -n 1 某个提交的哈希值

方法 3

  • 查看作者日期:git show -s --format="%ad" 某个提交的哈希值
  • 查看提交者日期:git show -s --format="%cd" 某个提交的哈希值

更多的信息,可见官方文档:https://git-scm.com/docs/git-show

在这里插入图片描述

在这里插入图片描述

修改最近一次提交的时间

如果想要修改最近一次提交的作者日期,可以使用如下命令。

git commit --amend --no-edit --date " Apr 29 22:40:00 2023 +0800"

比如,如果想把时间改为

2023 年 4 月 29 日星期六 22:40:00

,可以使用如下代码。

git commit --amend --no-edit --date "Fri Apr 29 22:40:00 2023 +0800"

其中,星期是可选的,不喜欢可以不输。


下面给出了一个可以自动生成当前时间的 Git 修改命令的 Java 代码。

/**
 * Windows 下 Git 命令生成器
 *
 * @since 2023-4-29
 */publicclassGitCommandGenerator{/**
     * 生成如下的命令:将本分支最近一次的 commit 的时间修改为当前的时间
     *
     * @since 2023-4-29
     */publicstaticStringamendLastCommitToCurrentTime(){SimpleDateFormat dateFormat =newSimpleDateFormat("EEE MMM dd HH:mm:ss yyyy Z",Locale.ENGLISH);String formattedDate = dateFormat.format(newDate());return"git commit --amend --no-edit --date \""+ formattedDate +"\"";}}

本文转载自: https://blog.csdn.net/wangpaiblog/article/details/130570779
版权归原作者 暗诺星刻 所有, 如有侵权,请联系我们删除。

“对于 Git 每一次提交的时间信息,什么是作者日期和提交者日期”的评论:

还没有评论