git log 中 AuthorDate 和 CommitDate

git log

git 中 commit 的日期标记实际上包含了两个日期,它们分别是 AuthorDateCommitDate

commit d259a04b7289d002c374cd0266e1af1b8a5824b3
Author: User Name <username@xxx.com>
Date:   Wed Apr 21 16:26:47 2021 +0800
...

当我们使用选项 --pretty=fuller 时才会显示全部时间 git log --pretty=fuller。可见默认显示的时间是 AuthorDate

Author:     User Name <username@xxx.com>
AuthorDate: Wed Apr 21 16:26:47 2021 +0800
Commit:     User Name <username@xxx.com>
CommitDate: Thu Apr 22 10:12:01 2021 +0800
...

实际上我们可能更关注 CommitDate,毕竟看 log 的时候希望按合入顺序来看。特别是有时候造成我们时间匹配和过滤上出错。关于 AuthorDate 和 CommitDate 的区别,大家可以参考 stackoverflow 上的这个问题

git 默认显示的是 AuthorDate(%ai),git log 根据日期时间过滤的时候,根据的是 CommitDate(%ci)CommitDate 是该 commit 被 merge 的时候,或者 rebase 的时候的时间。
可以通过下面的命令对比每个 commit 的两个时间。
$ git log --format=format:"%ai, %ci %aE %s"

%ai, author date
%ci, commit date
%aE, author email
%s, commit subject
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值