回覆列表
-
1 # 桃子是個程式猿
-
2 # 王亮IT
首先說一下,git rebase 和 git merge都是用來合併分支的。
然後說說二者的區別:
1.二者在git log中顯示的不一樣,merge命令不會儲存merge分支的commit。
2.處理衝突的方式不同
使用merge命令合併分支解決完衝突,執行git add .和git commit -m"fix conflict"。這個時候會產生一個commit。使用rebase命令合併分支解決完衝突,執行git add .和git rebase --continue,不會產生額外的commit。這樣的好處是乾淨,分支上不會有無意義的解決分支的commit;壞處,如果合併的分支中存在多個commit,需要重複處理多次衝突。所以具體使用的話根據自己的使用場景。
我只會使用rebase,好處是一旦出現衝突可以手動解決,如果使用merge,對方的改動在自動合併過程中很可能丟失,造成不必要的異常。協同開發中,費點力手動合併,確保業務程式碼正確是划算的。