我做了一些本地更改,然后提交它们(我们称之为
commit A
)。然后我做了并提交了一些更小的更改(commit B
),并且由于我不想用一堆小更改弄乱我的提交历史记录,所以我尝试将 commit B
压缩为 commit A
。基本上,我希望遥控器的 commit A
能够代表我在制作 commit B
后立即在本地拥有的内容。
我尝试了
git rebase -i HEAD~3
,并将commit B
压入commit A
。
然后,这将本地分支恢复到 A 和 B 之前的状态。我设法使用
git rebase --abort
恢复了此状态,但我很困惑为什么会发生这种情况,特别是因为我过去曾使用 git rebase -i HEAD~N
来实现想要的结果。
只需
git reset HEAD~2 —soft
并再次上演/提交会更容易。
至于为什么你的提交丢失了,我不确定,通常如果你使用交互式变基将提交 B 压缩到 A 中,这应该可以工作。