小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

svn 實戰(zhàn)

 漂在北方的狼 2007-09-19
本人在在以前一篇文章" 
一、svn版本號(revision number)
1、 SVN的修訂版本號是基于整個版本庫的,所以當(dāng)你新建了一個svn版本庫,從修訂版本號0開始,每一次成功的提交(svn ci)版本號加1,不管這時你是新增還是刪除文件,是在分支上還是在主干上。


2、一個修訂版本號代表了版本庫的一個快照。同一修訂版本號的相同文件在不同版本樹(主干、分支)上有可能是不一樣的。
svn cat
file:///"j:/yzrepos/test/trunk/f.txt" -r 19
f
svn cat file:///"j:/yzrepos/test/branches/0611/f.txt" -r 19
f
f1

3、工作拷貝并不一定對應(yīng)版本庫中的最新版本,除非是做了一次svn up,會使得工作拷貝中的所有文件的版本對應(yīng)版本庫的最新的同一修訂版本。
svn status -v 工作拷貝中每個文件的版本號:
第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最后一次修改的版本號和修改人。

4、svn的每個版本已經(jīng)包含了整個目錄樹的信息,所以我們可以svn up -r 19 file:///"j:/yzrepos/test/trunk/ 。


二、svn命令詳解
 只介紹最常用的svn命令:
1、svn add
svn add *  新增當(dāng)前目錄下的所有文件,包括子目錄下(子目錄下的文件)

2、svn status
svn status 查看當(dāng)前目錄下所有文件和目錄的狀態(tài),這條語句對我們了解當(dāng)前工作拷貝中文件的狀態(tài)非常有幫助。
item  文件或目錄item不在svn的控制中
M item  文件item的內(nèi)容被修改
C item  文件item發(fā)生沖突
A item  文件、目錄預(yù)定加入到版本庫

svn status、svn diff和 svn revert這三條命令在沒有網(wǎng)絡(luò)的情況下也可以執(zhí)行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

3、svn help <subcommand> 查看子命令的語法、參數(shù)以及說明。

4、svn log 查看log信息

svn log http://svn./repos/branches/20060411 可以查看該分支的所有歷史log,包括該分支以前的主干的log日志,因為該分支是從主干copy過來的。
svn log --stop-on-copy http://svn./repos/branches/20060411 只查看該分支的歷史log,不跨越不同的拷貝。
svn log http://svn./repos/trunk  只能查看該主干的歷史log,而不能看分支的log。

5、svn switch 分支、主干之間的切換, 注意:切換時本地工作拷貝的修改將會保留,這有時候?qū)τ谖覀兒苤匾丁?/p>

6、大家要學(xué)會使用svn的命令,掌握它有助于我們更深入地了解svn,不要完全依賴svn的圖形化工具。


三、合并
       合并的操作是版本控制中最基本,最重要,也是最容易出錯的地方。
 svn merge -r 1:10 http://svn./repos/calc/trunk
       記住一句話就可以:該操作是將某個版本樹(主干或者分支)上版本號為10與版本號為1的差異合并到當(dāng)前工作拷貝中。
       三個點:當(dāng)前你的工作拷貝,你需要把哪個版本樹上哪兩個版本號的差異合并到當(dāng)前工作拷貝的版本中,要避免重復(fù)合并。
 
三、解決沖突:
       出現(xiàn)沖突的兩種情況:
1、svn up的時候 工作拷貝和服務(wù)器在同一版本樹,當(dāng)工作拷貝的改動與服務(wù)器的改動沖突時,會出現(xiàn)沖突。
2、svn merge的時候 比如我們將分支上的某個初始版本2和最終版本3的差異合并到主干上,那么如果分支初始版本2和最終版本3的差異 與 主干當(dāng)前最新版本4和主干版本2的差異有相同的改動,那么這些相同之處就會有沖突。
       出現(xiàn)沖突時,svn就會把沖突的文件標(biāo)記C,同時生成三個臨時文件,分別代表本地工作拷貝的最初版本,修改后的版本和從服務(wù)器取到的最新版本。
      解決完沖突后,然后調(diào)用svn resolved,svn會刪除那三個臨時文件。


四、分支

1、建立分支
(1) svn copy trunk branches/my-calc-branch
svn copy命令將trunk工作目錄下的所有目錄和文件拷貝到一個新的目錄branhes/my-calc-branch下
(2) svn copy http://svn./repos/calc/trunk \
           http://svn./repos/calc/branches/my-calc-branch \
      -m "Creating a private branch of /calc/trunk."
這兩種是有區(qū)別的,
前面是以當(dāng)前工作拷貝為基礎(chǔ),后者以當(dāng)前服務(wù)器的最新版本為基礎(chǔ)。
前者copy后的目錄并沒有在版本庫中,需要執(zhí)行svn add和svn ci才到版本庫中,后者直接在服務(wù)器的版本庫中操作。

2、實際上svn中沒有內(nèi)在的分支概念—只有拷貝。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多