以前公司在對於 git 合併衝突的解法通常是將master合回自己的分支接著開發,也習慣了這種作法,但線圖就是有點醜,後來到了新公司之後規定強制要使用rebase的方式處理,在此紀錄git rebase 處理merge 衝突。
- 先切換到本地分支
git checkout <your_branch>
- 拉取最新的
develop
分支git pull --rebase origin develop
這個操作會從遠端origin
拉取develop
分支的最新更改,並在本地重新應用到自己的本地分支提交。 - 解決衝突:如果有衝突,Git 會提示您進行解決。打開包含衝突文件的文件,解決衝突,然後保存文件。
- 繼續進行
rebase
使用以下命令繼續進行rebase
:git add .
如果需要停止編輯
git rebase --continuerebase
,可以使用以下命令:git rebase --abort
- 執行推送更改:將本地分支上的衝突修正更改後推送到遠程分支:
git push origin <your_branch> -f
這邊要注意的是,由於使用了rebase
,因此需要使用-f
(或--force
)選項強制推送更改。主要是因為您已經修改了本地分支的歷史記錄。
參考連結
https://backlog.com/git-tutorial/tw/stepup/stepup2_8.html