對于git中變基操作的粗略認識

git中合并分支的方式有兩種:合并(merge)和變基(rebase)

變基的意思是“改變基礎(chǔ)”

舉個例子:主分支歷史是A1->A2->A3

當(dāng)歷史進展到A2時,你的同事決定在A2上做一個測試版,他首先用將主版本軟回滾到A2 然后做個一個測試的test branch,然后在這個分支上面生成一個新歷史A4,現(xiàn)在git歷史線是這樣的:


然后他決定將這個改動A4合并到目前的主版本A3,按正常操作他可以先檢出到A3,然后merge 這樣git歷史線就是A1->A2->A3+A4

當(dāng)然他也可是使用rebase操作,這就好像把A4操作在A3操作上重放一遍,git歷史線就是A1->A2->A3->A4,然后刪除那個測試分支,然后將這個版本推送到遠程服務(wù)器上,這樣就好像他是在主分支上進行了A4的測試一樣,最后呈現(xiàn)的時間線始終是一條,很干凈

然后有一種情況盡量不要變基,就是如果測試分支上有別人進行了回滾,而你進行了變基,而他又在那個回滾的歷史上進行了新的修改或再分支,然后他也想使用變基操作,這時候主時間線就會出現(xiàn)兩個base,造成混亂。所以要進行變基操作時,除非你能確定這個分支只有你一個人處理,否則最好使用merge

這就是我對變基(邪惡♂操作)的粗淺認識

?著作權(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)容