git - 为什么 github 显示当前日期而不是修改提交的实际日期?
问题描述
提交提交几天后,我修改了 github 存储库中的提交(Changelog 文件中的错误版本)。当我执行 a 时,git log
我看到修改后的提交仍然具有原始提交的日期,但在 github 中它显示的是当前日期而不是原始提交日期git log
。为什么是这样 ?
解决方案
首先,git 中的提交是不可变的;您实际上无法编辑提交。当您使用诸如 、 或 之类的命令时commit --amend
,cherry-pick
会rebase
发生 git基于原始提交创建一个新提交。
这个新的提交存储了两组信息:
- 从原始提交中复制的“作者”姓名和电子邮件地址以及“创作日期”
- 新创建的提交的“提交者”名称和电子邮件地址,以及“提交日期”
事实上,所有提交都有两组字段,只是它们通常是相同的,因为正常的提交是同时“创作”和“提交”的。
你看到的是命令行上的“git log”默认只显示作者信息,而 Github 默认显示提交者信息。据我所知,Github 无法同时查看两者(尽管它很受欢迎,但 Github 实际上是一个非常有限的 UI),但在命令行上,您可以使用各种格式选项同时查看两者,最简单的是:
git log --format=fuller
推荐阅读
- java - 运行gradle时如何在应用程序中获取VM选项?
- android - 每个用户从短信中读取 otp 的哈希键是否相同?
- php - simplexml_load_string():实体:第 2 行:解析器错误:属性值中不允许转义“<”
- javascript - 图像未显示在单元格 excel js 中
- flutter - 如何使用底部标签栏进行导航
- android-studio - Unreal Engine Vr Error :app:compileDebugJavaWithJavac FAILED, ERROR: cmd.exe failed with args /c
- android - 在 Android >24 上自定义群组通知
- python - 如何按白天和黑夜对数据数组进行分组?
- azure-devops - 跟踪 git 中的可执行位 - Azure Devops 2019 Server GUI
- microsoft-teams - MS Teams:回复 MessageID