在提交提交几天后,我修改了 github 存储库中的提交(更改日志文件中的错误版本)。当我执行 git log
时,我看到修改后的提交仍然具有原始提交的日期,但在 github 中它显示当前日期而不是原始提交日期,如 git log
那样。这是为什么?
答案 0 :(得分:2)
首先,git 中的提交不可变;您实际上无法编辑提交。当您使用 commit --amend
、cherry-pick
或 rebase
等命令时,git 创建一个 new 提交,基于 原始提交。
这个新提交存储了两组信息:
事实上,所有提交都有两组字段,只是它们大体上是一样的,因为正常的提交是同时“创作”和“提交”的。
你看到的是命令行上的“git log”默认只显示作者信息,Github默认显示提交者信息.据我所知,Github 无法同时查看两者(尽管它很受欢迎,但 Github 实际上是一个相当有限的 UI),但是在命令行上,您可以使用各种格式选项同时查看两者,最简单的是:
git log --format=fuller