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

  merge

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

 

  rebase

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

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

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