首页 > 解决方案 > 为什么 github 显示当前日期而不是修改提交的实际日期?

问题描述

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

标签: gitgithubgit-amend

解决方案


首先,git 中的提交是不可变的;您实际上无法编辑提交。当您使用诸如 、 或 之类的命令时commit --amendcherry-pickrebase发生 git基于原始提交创建一个提交。

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

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

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

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

git log --format=fuller

推荐阅读