Step 1. git rebase -i commit-id 會合並此次提交之后所有的提交為一個提交, 注意此次提交不會包含在內。
Step 2. 在 vim 編輯器中 會列出所有要合並的提交, 並修改內容, 保存並推出vim。
pick commit-id-1 commit-msg-1 => pick commit-id-1 commit-msg-1
pick commit-id-2 commit-msg-2 => s commit-id-2 commit-msg-2
pick commit-id-3 commit-msg-3 => s commit-id-3 commit-msg-3
step 3. 如果有沖突發生,解決沖突后並git add 然后運行 git rebase --continue, 在彈出的vim編輯器重重新編輯提交message.
然后保存並退出。 如果要終止這次合並 git rebase --abort , git rebase --edit-todo 重新查看和編輯。
Step 4. 如果遠程倉庫有當前分支,則可能會讓我們進行git pull 操作, 此時執行 git push origin :branch-name 刪除遠程分支,
git branch --unset-upstream 將本地分支和遠程分支進行解除關聯。
Step 5. 最后運行 git push --set-upstream origin branch-name, 將本地合並的提交推送到遠程倉庫。