如果我已经开始使用rebase,如何将两个提交合并为一个?

如果我已经开始使用rebase,如何将两个提交合并为一个?

我试图将2个提交合并为1,所以我从git准备好跟随“压缩提交与rebase”

我跑了

git rebase --interactive HEAD~2

在生成的编辑器中,我更改picksquash然后保存退出,但是rebase因错误而失败

没有先前的提交,不能'挤压'

既然我的工作树已达到这种状态,我就无法恢复了。命令git rebase --interactive HEAD~2失败

交互式rebase已经开始了

git rebase --continue失败了

没有先前的提交,不能'挤压'



呼如林
浏览 933回答 3
3回答

汪汪一只猫

如果有多个提交,您可以使用git rebase -i将两个提交压缩为一个。如果您只想合并两个提交,并且它们是“最近的两个”,则可以使用以下命令将两个提交合并为一个:git reset --soft "HEAD^" git commit --amend

江户川乱折腾

Rebase:你不需要它:对于最常见的情况,更简单的方法。在多数情况下:实际上,如果你想要的只是将几个最近的提交合并为一个 但不需要drop,reword以及其他的rebase工作。你可以简单地做:git reset --soft "HEAD~n"假设~n是提交的数字轻声未提交(即~1,~2...)然后,使用以下命令修改提交消息。git commit --amend这与长距离squash和长距离非常相似pick。并且它适用于n次提交但不仅仅是两次提交,如上面的答案提示。
打开App,查看更多内容
随时随地看视频慕课网APP