这很好地解释了压缩多个提交:http://git-scm.com/book/en/Git-Branching-Rebasing但不适用于已经推送的提交。如何在本地和远程存储库中压缩最近的几次提交?编辑:当我这样做时git rebase -i origin/master~4 master,将第一个保留为pick,将其他三个保留为squash,然后退出(通过emacs中的cx cc),我得到:$ git rebase -i origin/master~4 master# Not currently on any branch.nothing to commit (working directory clean)Could not apply 2f40e2c... Revert "issue 4427: bpf device permission change option added"$ git rebase -i origin/master~4 masterInteractive rebase already started其中2f40是pick提交。现在4个提交中都没有出现git log。我希望编辑器可以重新启动,以便我可以输入提交消息。我究竟做错了什么?
3 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
壁球本地提交
git rebase -i origin/master~4 master
然后用力推
git push origin +master
--force和之间的区别+
从以下文档中git push:
请注意,这--force适用于所有推送的ref,因此在push.default设置为matching或配置了多个推送目标的情况下使用它remote.*.push可能会覆盖当前分支以外的其他ref(包括严格位于其远程副本后面的本地ref)。要仅将一个推送强制到一个分支,请+ 在refspec前面使用a 进行推送(例如git push origin +master,强制推送到该master分支)。
- 3 回答
- 0 关注
- 688 浏览
添加回答
举报
0/150
提交
取消