使用merge,rebase進(jìn)行代碼合并

git merge和git rebase的功能是類似的,它們都被設(shè)計來將一個分支的更改合并入另一個分支。

1.? git merge

將master分支合并到feature分支,最簡單的辦法就是使用以下命令:

git checkout feature

git merge master

或者,你也可以把它們壓縮到一行里:

git merge master feature

merge master into the feature branch

feature分支會產(chǎn)生一個新的commit,包含了master分支的變更。

merge是一個安全的操作,現(xiàn)有的分支不會被更改,避免了rebase 的潛在缺點。另一方面,這同樣意味著每次merge時feature分支都會引入一個外來的merge commit,如果master分支非?;钴S的話,這或多或少會污染你的分支歷史,從而增加理解項目歷史的難度。

2. git rebase

作為merge操作的替代選擇,你可以像下面這樣將feature分支并入master:

git checkout feature

git rebase master

它會把feature分支整體移動到master分支后面,有效的把master分支上所有新的commit都合并到feature分支上。因此rebase重寫了feature分支的項目歷史。

rebase the feature branch onto master

rebase最大的優(yōu)勢是你的項目歷史會非常的簡潔,它不像git merge那樣產(chǎn)生新的提交,并且如圖所示,rebase導(dǎo)致你的項目歷史呈現(xiàn)出完美的線性結(jié)構(gòu),這讓你更容易使用git log,git bisect,gitk查看項目歷史。

參考:github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase-%E7%9A%84%E9%80%89%E6%8B%A9

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容