我推送了我的最新更改
git push origin master
然后我用交互式变基修改了提交消息,即
git rebase -i HEAD~5
并在最后一次提交中更改了消息。
这已成功保存,但是当我执行时,git push origin master
它只是说Everything up-to-date
.
现在 git 历史并没有显示实际所做的措辞更改?
但是,当我执行 agit commit --amend -m"msg"
然后尝试推动更改时,就会“看到”。
我推送了我的最新更改
git push origin master
然后我用交互式变基修改了提交消息,即
git rebase -i HEAD~5
并在最后一次提交中更改了消息。
这已成功保存,但是当我执行时,git push origin master
它只是说Everything up-to-date
.
现在 git 历史并没有显示实际所做的措辞更改?
但是,当我执行 agit commit --amend -m"msg"
然后尝试推动更改时,就会“看到”。
在交互式变基期间,我更改了提交消息......但我没有将第一列('action')从pick
更改为reword
(或r
简称为)。
这样做可以正确应用更改。
然后在我推送时显示所有最新信息?
一种可能的解释,用 Git 2.18(2018 年第 2 季度)说明:在“ rebase -i
”会话期间,代码可能会为较早的“”创建的提交提供较早的时间戳,该时间戳reword
已被更正。
请参阅Johannes Sixt ( ) 的提交 12f7bab(2018 年 4 月 18 日)。(由Junio C Hamano 合并 -- --在提交 0657e0f中,2018 年 5 月 8 日)j6t
gitster
sequencer
:在提交之前重置提交者日期现在,当未编辑提交消息时,排序器无需分叉即可提交,所有选择的提交都具有相同的提交者日期。
如果一个提交被改写,它的提交者日期将是一个更晚的时间,因为它是通过运行一个单独的“git commit”实例创建的。如果改写的提交后面有更多的选择,那些后来的提交将比改写的提交日期更早。这是由 git 缓存
GIT_COMMITTER_DATE
未设置时使用的默认日期引起的。
在进程内生成提交之前重置缓存日期。
因为最后一次提交的提交哈希没有改变。您必须更改上次提交的提交哈希,以便服务器知道您已进行更改。
在进行交互式变基时,您可以使用 reword 或 edit 命令。或者只使用commit --amend。