日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
經(jīng)典剖析SVN分支與合并

本節(jié)主要向大家描述一下SVN分支與合并,分支和SVNmerge有很多不同的用法,這個(gè)小節(jié)描述了最常見(jiàn)的用法,希望通過(guò)本節(jié)的學(xué)習(xí),大家對(duì)SVN分支與合并有深刻的理解。下面是SVN分支與合并

創(chuàng)新互聯(lián)建站專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、襄城網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、襄城網(wǎng)絡(luò)營(yíng)銷(xiāo)、襄城企業(yè)策劃、襄城品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供襄城建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

合并分支到另一分支

為了完成這個(gè)例子,我們將時(shí)間往前推進(jìn),假定已經(jīng)過(guò)了幾天,在主干和你的分支上都有許多更改,假定你完成了分支上的工作,已經(jīng)完成了特性或bug修正,你想合并所有分支的修改到主干上,讓別人也可以使用。
SVN分支與合并中在這種場(chǎng)景下如何使用svnmerge?記住這個(gè)命令比較兩個(gè)目錄樹(shù),然后應(yīng)用比較結(jié)果到工作拷貝,所以要接受這種變化,你需要主干的工作拷貝,我們假設(shè)你有一個(gè)最初的主干工作拷貝(完全更新),或者是你最近取出了/calc/trunk的一個(gè)干凈的工作拷貝。

但是要哪兩個(gè)樹(shù)進(jìn)行比較呢?乍一看,回答很明確,只要比較***的主干與分支。但是你要意識(shí)到—這個(gè)想法是錯(cuò)誤的,傷害了許多新用戶!因?yàn)閟vnmerge的操作很像svndiff,比較***的主干和分支樹(shù)不僅僅會(huì)描述你在分支上所作的修改,這樣的比較會(huì)展示太多的不同,不僅包括分支上的增加,也包括了主干上的刪除操作,而這些刪除根本就沒(méi)有在分支上發(fā)生過(guò)。

為了表示你的分支上的修改,你只需要比較分支的初始狀態(tài)與最終狀態(tài),在你的分支上使用svnlog命令,你可以看到你的分支在341版本建立,你的分支最終的狀態(tài)用HEAD版本表示,這意味著你希望能夠比較版本341和HEAD的分支目錄,然后應(yīng)用這些分支的修改到主干目錄的工作拷貝。

查找分支產(chǎn)生的版本(分支的“基準(zhǔn)”)的***方法是在svnlog中使用--stop-on-copy選項(xiàng),log子命令通常會(huì)顯示所有關(guān)于分支的變化,包括創(chuàng)建分支的過(guò)程,就好像你在主干上一樣,--stop-on-copy會(huì)在svnlog檢測(cè)到目標(biāo)拷貝或者改名時(shí)中止日志輸出。

所以,在我們的例子里,$svnlog-v--stop-on-copy\
http://svn.cdxwcx.com/repos/calc/branches/my-calc-branch

------------------------------------------------------------------------
r341|user|2002-11-0315:27:56-0600(Thu,07Nov2002)|2lines
Changedpaths:
A/calc/branches/my-calc-branch(from/calc/trunk:340)

$
正如所料,***打印出的版本正是由my-calc-branch拷貝生成的版本。

如下是最終的合并過(guò)程,然后:

 
 
 
  1. $cdcalc/trunk
  2. $svnupdate
  3. Atrevision405.
  4. $svnmerge-r341:405http://svn.cdxwcx.com/repos/calc/branches/my-calc-branch
  5. Uinteger.c
  6. Ubutton.c
  7. UMakefile
  8. $svnstatus
  9. Minteger.c
  10. Mbutton.c
  11. MMakefile
  12. #...examinethediffs,compile,test,etc...
  13. $svncommit-m"Mergedmy-calc-branchchangesr341:405intothetrunk."
  14. Sendinginteger.c
  15. Sendingbutton.c
  16. SendingMakefile
  17. Transmittingfiledata...
  18. Committedrevision406.

再次說(shuō)明,日志信息中詳細(xì)描述了合并到主干的的修改范圍,記住一定要這么做,這是你以后需要的重要信息。

舉個(gè)例子,你希望在分支上繼續(xù)工作一周,來(lái)進(jìn)一步加強(qiáng)你的修正,這時(shí)版本庫(kù)的HEAD版本是480,你準(zhǔn)備好了另一次合并,但是我們?cè)凇昂喜⒌?**實(shí)踐”一節(jié)提到過(guò),你不想合并已經(jīng)合并的內(nèi)容,你只想合并新的東西,技巧就是指出什么是“新”的。

***步是在主干上運(yùn)行svnlog察看***一次與SVN分支與合并的日志信息:

$cdcalc/trunk
$svnlog

------------------------------------------------------------------------
r406|user|2004-02-0811:17:26-0600(Sun,08Feb2004)|1line

Mergedmy-calc-branchchangesr341:405intothetrunk.
------------------------------------------------------------------------

阿哈!因?yàn)榉种?41到405之間的所有修改已經(jīng)在版本406合并了,現(xiàn)在你只需要在SVN分支與合并中合并分支在此之后的修改—通過(guò)比較406和HEAD。

 
 
 
  1. $cdcalc/trunk
  2. $svnupdate
  3. Atrevision480.
  4. #WenoticethatHEADiscurrently480,soweuseittodothemerge:
  5. $svnmerge-r406:480http://svn.cdxwcx.com/repos/calc/branches/my-calc-branch
  6. Uinteger.c
  7. Ubutton.c
  8. UMakefile
  9. $svncommit-m"Mergedmy-calc-branchchangesr406:480intothetrunk."
  10. Sendinginteger.c
  11. Sendingbutton.c
  12. SendingMakefile
  13. Transmittingfiledata...
  14. Committedrevision481.

現(xiàn)在主干有了分支上第二波修改的完全結(jié)果,此刻,你可以刪除你的分支(我們會(huì)在以后討論),或是繼續(xù)在你分支上工作,重復(fù)這個(gè)步驟。請(qǐng)期待下節(jié)SVN分支與合并介紹。


新聞名稱(chēng):經(jīng)典剖析SVN分支與合并
文章源于:http://www.dlmjj.cn/article/cogjddo.html