這很好地解釋了壓縮多個提交:http://git-scm.com/book/en/Git-Branching-Rebasing但不適用于已經(jīng)推送的提交。如何在本地和遠(yuǎn)程存儲庫中壓縮最近的幾次提交?編輯:當(dāng)我這樣做時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提交?,F(xiàn)在4個提交中都沒有出現(xiàn)git log。我希望編輯器可以重新啟動,以便我可以輸入提交消息。我究竟做錯了什么?
3 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗 獲得超8個贊
壁球本地提交
git rebase -i origin/master~4 master
然后用力推
git push origin +master
--force和之間的區(qū)別+
從以下文檔中g(shù)it push:
請注意,這--force適用于所有推送的ref,因此在push.default設(shè)置為matching或配置了多個推送目標(biāo)的情況下使用它remote.*.push可能會覆蓋當(dāng)前分支以外的其他ref(包括嚴(yán)格位于其遠(yuǎn)程副本后面的本地ref)。要僅將一個推送強制到一個分支,請+ 在refspec前面使用a 進(jìn)行推送(例如git push origin +master,強制推送到該master分支)。
- 3 回答
- 0 關(guān)注
- 722 瀏覽
添加回答
舉報
0/150
提交
取消