为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
呼如林 2019-08-23 10:46:07
如果我已经开始使用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


查看完整回答
反对 回复 2019-08-23
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

Rebase:你不需要它:

对于最常见的情况,更简单的方法。

在多数情况下:

实际上,如果你想要的只是将几个最近的提交合并为一个 但不需要dropreword以及其他的rebase工作。

你可以简单地做:

git reset --soft "HEAD~n"
  • 假设~n是提交的数字轻声未提交(即~1~2...)

然后,使用以下命令修改提交消息。

git commit --amend

这与长距离squash和长距离非常相似pick

并且它适用于n次提交但不仅仅是两次提交,如上面的答案提示。


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 927 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信