如果我已经开始使用rebase,如何将两个提交合并为一个?我试图将2个提交合并为1,所以我从git准备好跟随“压缩提交与rebase”。我跑了git rebase --interactive HEAD~2在生成的编辑器中,我更改pick为squash然后保存退出,但是rebase因错误而失败没有先前的提交,不能'挤压'既然我的工作树已达到这种状态,我就无法恢复了。命令git rebase --interactive HEAD~2失败交互式rebase已经开始了并git rebase --continue失败了没有先前的提交,不能'挤压'
3 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
如果有多个提交,您可以使用git rebase -i
将两个提交压缩为一个。
如果您只想合并两个提交,并且它们是“最近的两个”,则可以使用以下命令将两个提交合并为一个:
git reset --soft "HEAD^" git commit --amend
江户川乱折腾
TA贡献1851条经验 获得超5个赞
Rebase:你不需要它:
对于最常见的情况,更简单的方法。
在多数情况下:
实际上,如果你想要的只是将几个最近的提交合并为一个 但不需要drop
,reword
以及其他的rebase工作。
你可以简单地做:
git reset --soft "HEAD~n"
假设
~n
是提交的数字轻声未提交(即~1
,~2
...)
然后,使用以下命令修改提交消息。
git commit --amend
这与长距离squash
和长距离非常相似pick
。
并且它适用于n次提交但不仅仅是两次提交,如上面的答案提示。
- 3 回答
- 0 关注
- 980 浏览
添加回答
举报
0/150
提交
取消