1. 程式人生 > >Git Rebase 操作的分析與整理

Git Rebase 操作的分析與整理

首先會產生 rebase 分支(master)的備份,放到(no branch )臨時分支中。再將支線分支(branch)的每一次提交修改,以補丁的形式,一個個的重新應用到主幹分支上。這個過程是一個迴圈應用補丁的過程,期間只要補丁產生衝突,就會停止迴圈,等待手動解決衝突。這個衝突指的是上一個合併後版本與補丁之間的衝突。(例如:C5 補丁時,需要解決的是 C4C5 的衝突,C6 補丁時,需要解決的是 C4 + C5 版本與 C6 之間的衝突),手動解決衝突完成,通過 git add 命令更新內容,執行 git rebase --continue 命令繼續後續迴圈,通過 git rebase --skip
命令,可以跳過某一次補丁(存在上一輪衝突的解決方案中,已經包含了這一輪的補丁內容,這樣會使補丁無效,需要跳過),通過 git rebase --abort 命令,可以在迴圈執行過程中,進行回滾,迴圈完成後執行命令無效。
迴圈完成後會更新 branch 分支,刪除(no branch)臨時分支。最終 branch 分支提交 ID 記錄為 C1 → C2 → C3 → C4 → C5' → C6'。之前的 C5C6 提交將被刪除。