来自不同 git 命令的不同时间值
Different time values from different git commands
我看到对于特定的提交,git 为不同的命令提供了不同的时间戳值。
$ git show -s --format="%ci" ee9bb
2019-09-09 17:50:43 +0530
以上命令显示时间值为17:50:43
虽然以下命令将时间值显示为 17:24:01
$ git show -s ee9bb
commit ee9bb706c8fcc329fac4acf69ad6b684f1069170
Author: itsvamshers <itsvamshers@gmail.com>
Date: Mon Sep 9 17:24:01 2019 +0530
fixed country null issue
$ git log ee9bb
commit ee9bb706c8fcc329fac4acf69ad6b684f1069170
Author: itsvamshers <itsvamshers@gmail.com>
Date: Mon Sep 9 17:24:01 2019 +0530
谁能解释一下为什么会这样。我应该考虑哪一个。
密切关注the git log
documentation (here is a direct link to %ci
中%ci
的具体细节,但可能会随着时间的推移而失败):
%ci
committer date, ISO 8601-like format
现在看看%ai
description:
%ai
author date, ISO 8601-like format
一个使用committer这个词,另一个使用author.
这个词
每次提交都有两个日期和时间戳!
%ci
打印 提交者 日期和时间戳。
%ai
打印 author 日期和时间戳。
默认 git log
输出使用 author 日期,这就是 %ci
显示不同日期的原因。
请注意,再往上一点,PRETTY FORMATS 部分描述了您可以使用 --pretty=fuller
获得的关键字格式。 fuller
格式包括日期和时间戳。
... which one should I consider
两者兼而有之。这两个日期都可能被无意或有意地欺骗。使用其中之一或两者作为指示或提示,而不是绝对保证。
一般来说,如果您将现有提交复制到新提交,Git将——至少在默认情况下——保留作者 日期,但现在将您设置为提交者和提交者日期。由于 git cherry-pick
复制了一个现有的提交,这发生在 cherry-pick 上。由于 git rebase
主要是一系列自动化的精选操作,因此 rebase 也往往会发生这种情况。
我看到对于特定的提交,git 为不同的命令提供了不同的时间戳值。
$ git show -s --format="%ci" ee9bb
2019-09-09 17:50:43 +0530
以上命令显示时间值为17:50:43
虽然以下命令将时间值显示为 17:24:01
$ git show -s ee9bb
commit ee9bb706c8fcc329fac4acf69ad6b684f1069170
Author: itsvamshers <itsvamshers@gmail.com>
Date: Mon Sep 9 17:24:01 2019 +0530
fixed country null issue
$ git log ee9bb
commit ee9bb706c8fcc329fac4acf69ad6b684f1069170
Author: itsvamshers <itsvamshers@gmail.com>
Date: Mon Sep 9 17:24:01 2019 +0530
谁能解释一下为什么会这样。我应该考虑哪一个。
密切关注the git log
documentation (here is a direct link to %ci
中%ci
的具体细节,但可能会随着时间的推移而失败):
%ci
committer date, ISO 8601-like format
现在看看%ai
description:
%ai
author date, ISO 8601-like format
一个使用committer这个词,另一个使用author.
这个词每次提交都有两个日期和时间戳!
%ci
打印 提交者 日期和时间戳。
%ai
打印 author 日期和时间戳。
默认 git log
输出使用 author 日期,这就是 %ci
显示不同日期的原因。
请注意,再往上一点,PRETTY FORMATS 部分描述了您可以使用 --pretty=fuller
获得的关键字格式。 fuller
格式包括日期和时间戳。
... which one should I consider
两者兼而有之。这两个日期都可能被无意或有意地欺骗。使用其中之一或两者作为指示或提示,而不是绝对保证。
一般来说,如果您将现有提交复制到新提交,Git将——至少在默认情况下——保留作者 日期,但现在将您设置为提交者和提交者日期。由于 git cherry-pick
复制了一个现有的提交,这发生在 cherry-pick 上。由于 git rebase
主要是一系列自动化的精选操作,因此 rebase 也往往会发生这种情况。