程式設計師必會技能系列(2)git中merge和rebase比較-3
阿新 • • 發佈:2019-02-06
git中有兩個合併分支的方法,一個是git merge,另一個是git rebase。
一、git merge 講解
1、畫圖講解git merge
用merge合併分支時不會改變歷史(通俗的說就是commit號不會變)。在git中merge會創造一個特殊的commit,這個commit包含兩個父commit。示例,執行git命令,[1]:git checkout master ,[2]:git merge bugFix。結果如下圖所示:
現在bugFix是master的祖先,我們現在把bugFix也放到C4上去。
執行命令[1]:git checkout bugFix;[2]:git merge master。得到的結果如下圖:
這個過程git並沒有做什麼工作,只是把bugFix移動到commit C4中。現在我們的兩個分支bugFix和master都包含了倉庫中的所有工作。
2、通過commit號講解git merge
二、git rebase 講解
1、畫圖講解git rebase
git rebase 可以建立一個更接近線性的提交歷史。但是git rebase會改變提交歷史。
栗子:[1]、git checkout bugFix ;[2]、git rebase master
現在master是bugFix的祖先,現在我們把master也放到C3’上
[1]、git checkout master [2]、git rebase bugFix
2、通過commit號講解rebase