为什么 github 显示当前日期而不是修改后的提交的真实日期?

时间:2021-06-03 16:47:03

标签: git github git-amend

在提交提交几天后,我修改了 github 存储库中的提交(更改日志文件中的错误版本)。当我执行 git log 时,我看到修改后的提交仍然具有原始提交的日期,但在 github 中它显示当前日期而不是原始提交日期,如 git log 那样。这是为什么?

1 个答案:

答案 0 :(得分:2)

首先,git 中的提交不可变;您实际上无法编辑提交。当您使用 commit --amendcherry-pickrebase 等命令时,git 创建一个 new 提交,基于 原始提交。

这个新提交存储了两组信息:

  • 从原始提交中复制的“作者”姓名和电子邮件地址以及“创作日期”
  • 新创建的提交的“提交者”姓名和电子邮件地址以及“提交日期”

事实上,所有提交都有两组字段,只是它们大体上是一样的,因为正常的提交是同时“创作”和“提交”的。

你看到的是命令行上的“git log”默认只显示作者信息,Github默认显示提交者信息.据我所知,Github 无法同时查看两者(尽管它很受欢迎,但 Github 实际上是一个相当有限的 UI),但是在命令行上,您可以使用各种格式选项同时查看两者,最简单的是:

git log --format=fuller