如何解决git:将最后三个提交一起压缩
我想将我的最后3个提交一起压缩(从ax38aa到ax18aa)。
我有
commit ax18aa
commit ax28aa
commit ax38aa
commit ax48aa
commit ax58aa
代码
git rebase -i ax48aa
但感到惊讶的是,当我做了 git log 时,我只有
commit ax48aa
commit ax58aa
,也没有向mi询问新的提交消息。我能怎么做?请? 谁能帮忙 谢谢你,
解决方法
可以这样做:
git reset --soft ax38aa
git commit --amend "some blahblah"
,
您似乎在交互式基础上squash
完成了所有提交,而您处于rebasing
状态。这意味着您当前正在进行重新设置,但尚未完成它,只能看到最早的两次提交ax48aa
和ax58aa
。摆脱这种情况的最简单方法是:
git rebase --abort
这将放弃您可能已进行的所有更改,并使您进入重新设置基准之前的状态。如果仍然有机会不看到所有5个提交,则将reflog
与git reflog
一起查看,找到第一个提交并执行git reset --hard ax18aa
。
现在再次进行新的变基,但是这次pick
是您的交互式变基中最早/最高的提交。
git rebase -i HEAD~3
# or
git rebase -i ax48aa
,然后执行以下操作:
pick ax38aa commit message 3
squash ax28aa commit message 2
squash ax18aa commit message 1
这会做您想要的。
还请记住,在重新设置基准之后,您将进行一次新的提交,并且需要强制推送到远程存储库,才能上传更改!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。