Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的git interactive rebase在上一次提交消息时发生更改,然后在推送时显示所有最新的内容?_Git_Github_Rebase_Git Push_Git Interactive Rebase - Fatal编程技术网

为什么我的git interactive rebase在上一次提交消息时发生更改,然后在推送时显示所有最新的内容?

为什么我的git interactive rebase在上一次提交消息时发生更改,然后在推送时显示所有最新的内容?,git,github,rebase,git-push,git-interactive-rebase,Git,Github,Rebase,Git Push,Git Interactive Rebase,我推了推我的最新变化 git push origin master 然后我用一个交互式的重基修改了提交消息,即 git rebase -i HEAD~5 并在上次提交时更改了消息 这已成功保存,但当我执行git push origin master时,它只会说所有内容都是最新的 现在git历史没有显示实际发生的措辞变化 但是,当我执行一个git commit--amend-m“msg”然后尝试推送更改时,“看到了”。在交互式重新基址期间,我更改了提交消息。。。但我没有将第一列(“操作”)从p

我推了推我的最新变化

git push origin master
然后我用一个交互式的重基修改了提交消息,即

git rebase -i HEAD~5
并在上次提交时更改了消息

这已成功保存,但当我执行
git push origin master
时,它只会说
所有内容都是最新的

现在git历史没有显示实际发生的措辞变化


但是,当我执行一个git commit--amend-m“msg”然后尝试推送更改时,“看到了”。

在交互式重新基址期间,我更改了提交消息。。。但我没有将第一列(“操作”)从
pick
更改为
reword
(简称
r


这样做可以正确应用更改。

因为上次提交的提交哈希值不会更改。 您必须更改上次提交的提交哈希,以便服务器知道您已进行了更改

在执行交互式重新基线时,可以使用reword或edit命令。或者使用commit--amend

然后在我推的时候展示所有最新的东西

一种可能的解释,如Git 2.18(2018年第2季度)所示:在“
rebase-i
”会话期间,该代码可能会为稍后的“pick”创建的提交提供较旧的时间戳,而不是较早的“
reword
”,该时间戳已被更正

参见(2018年4月18日)作者。
(于2018年5月8日合并)

sequencer
:在提交之前重置提交者日期 现在,sequencer在提交消息时无需分叉即可提交 未编辑所有拾取的提交都具有相同的提交者 日期。
如果一个提交被重写,它的提交日期将是一个更晚的时间 因为它是通过运行单独的“git commit”实例创建的

如果重新编写的提交之后有进一步的选择,则这些选择将在以后提交 提交日期将早于重新编写的提交日期。这是 由git缓存导致,
git\u提交人\u日期
为 未设置。
在进程中生成提交之前重置缓存的日期


正如交互式rebase待办事项列表(启动rebase时在编辑器中打开的文件)中所述,该文件中的消息仅用于说明/导航目的。所有实际的更改都发生在您保存文件之后。这里的推理是合乎逻辑的,但是缺少了一些东西。运行
git commit--amend
确实会更改最近提交的哈希值,但是
git push
仍然显示
所有内容都是最新的