您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 >
圖解的版本控制工具GIT
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2013/12/10 11:45:54 ] 推薦標簽:

  merge

  merge命令把不同的分支合并起來。如下圖,HEAD處于master分支的ed489提交點上,other分支處于33104提交點上,項目負責人看了下覺得other分支的代碼寫的不錯,于是想把代碼合并到master分支,因此直接執(zhí)行git merge other,如果沒有發(fā)生沖突,other成功合并到master分支了。

 

  rebase

  rebase又稱為衍合,是合并的另外一種選擇。merge把兩個分支合并到一起進行提交,無論從它們公共的父節(jié)點開始(如上圖,other分支與master分支公共的父節(jié)點b325c),被合并的分支(other分支)發(fā)生過多少次提交,合并都只會在當前的分支上產(chǎn)生一次提交日志,如上圖的f8bc5。所以merge產(chǎn)生的提交日志不是線性的,萬一某天需要回滾,只能把merge整體回滾。而rebase可以理解為verbosely merge,完全重演下圖分支topic的演化過程到master分支上。如下圖:

  在開始階段,我們處于topic分支上,執(zhí)行git rebase master,那么169a6和2c33a上發(fā)生的事情都在master分支上重演一遍,分別對應于master分支上的e57cf和f7e63,后checkout切換回到topic分支。這一點與merge是一樣的,合并前后所處的分支并沒有改變。git rebase master,通俗的解釋是topic分支想站在master的肩膀上繼續(xù)下去。

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd