如果我已經開始使用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 關注
- 1014 瀏覽
添加回答
舉報
0/150
提交
取消