Git rebase 和 git mergegit
1.git mergespa
將某一分支的變化合併到當前分支。把兩個分支最新的快照(C3 和 C4)以及兩者最新的共同祖先(C2)進行三方合併,合併的結果是產生一個新的提交對象(C5),master指向C5
2.git rebase指針
回到兩個分支最近的共同祖先,根據當前分支(也就是要進行衍合的分支 experiment)後續的歷次提交對象(這裏只有一個 C3),生成一系列文件補丁,而後以基底分支(也就是主幹分支 master)最後一個提交對象(C4)爲新的出發點,逐個應用以前準備好的補丁文件,最後會生成一個新的合併提交對象(C3'),從而改寫 experiment 的提交歷史,使它成爲 master 分支的直接下游,master指向爲移動,須要merge 1)git rebase --onto master server client 將client分支衍合到master,跳過server 2)git checkout master git merge client 切到master分支,合併client到master,右移動master分支指針 3)git rebase master server 將server衍合到master分支上 4)git checkout master git merge server 切刀master分支,合併server到master上 5)git branch -d client git branch -d server 刪除無用分支