<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    京山游俠

    專注技術(shù),拒絕扯淡
    posts - 50, comments - 868, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    上一篇中,我使用Subversion建立了自己的版本庫,服務(wù)器端使用的是Subversion自帶的工具svnserve。當(dāng)然,實(shí)際應(yīng)用中更流行的是使用httpd搭配Subversion模塊。使用httpd的安裝和配置方法見http://www.tkk7.com/jarod/archive/2007/10/27/156372.html

    建立服務(wù)器后,就可以使用它來工作了。我先建立了一個Hello World工程,然后將它導(dǎo)入到版本庫。由此可見,向版本庫中導(dǎo)入數(shù)據(jù),是使用版本庫的第一個步驟,然而,這個步驟并不常用,因?yàn)槊總€項(xiàng)目只需要導(dǎo)入一次而已。

    假設(shè)youxia導(dǎo)入這個工程后,就下班回家休息了,但是onionz是一個夜貓子,他在晚上又對這個工程進(jìn)行了更改。第二天一早,youxia又開始他的工作,他想知道在他休息的時(shí)候項(xiàng)目有什么新的進(jìn)展,這個時(shí)候,他可以在項(xiàng)目名上點(diǎn)鼠標(biāo)右鍵,從快捷菜單中選擇“比較對象”->“資源庫中的最新內(nèi)容”,如下圖:

    01.png

    從下面圖中可以看到,有哪些文件進(jìn)行了更改,也可以看到改變的是這些文件的哪幾行:
    02.png

    看完之后,youxia應(yīng)該把版本庫中的最新內(nèi)容更新到他的工作拷貝中,以便進(jìn)行他這一天的工作。他可以選在快捷菜單中的“小組”->“更新”,如下圖:

    03.png

    這個時(shí)候,版本庫中的最新內(nèi)容就會被下載到y(tǒng)ouxia的工作拷貝中,下圖是控制臺的輸出內(nèi)容,其中文件名前的“A”代表這個文件是新增加的,而“U”代表這個文件是被更改過了的。如下圖:

    04.png

    由于截圖太占用屏幕空間,因此,下面的菜單操作將不再提供圖片了,畢竟,跟SVN有關(guān)的操作都在“小組”和“比較對象”這兩個菜單中,用起來也很簡單。

    這個時(shí)候,youxia就可以使用他的工作拷貝來進(jìn)行他的工作了。在他完成修改后,他需要把他的工作提交到服務(wù)器。不過且慢,再提交之前還是先看看今天做了哪些工作,要檢查清楚,不然,有可能把不小心進(jìn)行的誤操作也提交到版本庫。要查看做了哪些修改,可以選擇菜單“比較對象”->“基本修訂版”,比較結(jié)果如下圖:

    05.png

    在這里,我要對“基本修訂版”做一個解釋,什么是基本修訂版呢?我們可以理解成我們剛剛更新后存儲在工作拷貝中的版本,也就相當(dāng)于我們的工作還沒開始進(jìn)行時(shí)的內(nèi)容。因此,這個比較得到的結(jié)果就是我們今天工作的成果。在這個強(qiáng)大的IDE中,其實(shí)并不一定需要執(zhí)行這個命令,只要看看工作臺左邊的“包資源管理器”,文件圖標(biāo)發(fā)生了變化的文件,都是被修改過了的。

    確認(rèn)之后,點(diǎn)擊快捷菜單“小組”->“提交”,youxia就把他今天的所有工作都提交到版本庫中了。

    以上的流程,比較類似于單用戶工作的模式,沒有沖突發(fā)生。整個過程可以總結(jié)為“更新”——“修改”——“提交”,中間夾雜著兩次“比較”,其實(shí)要不要比較也無所謂。然而現(xiàn)實(shí)工作中往往比這要復(fù)雜得多,極有可能是多個用戶在同時(shí)編輯同一個文件,當(dāng)你想提交的時(shí)候,版本庫中的內(nèi)容已經(jīng)發(fā)生了改變。

    如果發(fā)生沖突,提交過程會失敗,如下圖:

    06.png

    這個時(shí)候,就需要再一次點(diǎn)擊快捷菜單“小組”->“更新”,所有的沖突就可以體現(xiàn)出來了,如下圖:

    07.png

    這個時(shí)候,就需要和修改了該文件的程序員進(jìn)行溝通了,在達(dá)成一致后,才能決定這個文件最終保留什么內(nèi)容。切不可在沒有溝通的情況下隨便刪掉別人的內(nèi)容,那太不尊重人了,除非你是這個項(xiàng)目的老總。形式上的修改之后,還要考慮到這么修改以后軟件是否可以正常運(yùn)行,這就離不開單元測試了。測試通過之后,可以點(diǎn)擊快捷菜單“小組”->“標(biāo)記為已解決”來告訴SVN沖突已經(jīng)被解決了。最后,點(diǎn)擊“小組”->“提交”,將最后的修改提交到版本庫。

    ?在有沖突發(fā)生時(shí),整個過程可總結(jié)為“更新”——“修改”——“試提交”——“溝通”——“解決沖突”——“單元測試”——“提交”。


    評論

    # re: 使用Subversion進(jìn)行源代碼管理(三):常用操作  回復(fù)  更多評論   

    2008-05-03 18:55 by SVN開源社區(qū)
    不錯http://www.svnhost.cn

    # re: 使用Subversion進(jìn)行源代碼管理(三):常用操作  回復(fù)  更多評論   

    2008-07-12 10:24 by 莫愁
    不知道是不是原創(chuàng),文章寫的不錯!
    有點(diǎn)缺憾是關(guān)于沖突部分介紹的不夠詳細(xì),有些讓人費(fèi)解,能夠把沖突的解決在介紹詳細(xì)些就更好了

    # re: 使用Subversion進(jìn)行源代碼管理(三):常用操作  回復(fù)  更多評論   

    2009-03-20 22:05 by swanky
    我一直以為,出現(xiàn)這種沖突,是技術(shù)上的問題,以為自己操作的錯誤,以為還有更好的方法來處理,原來,碰到這種問題,還真難辦。雖然這些都會,但還是受益匪淺!
    主站蜘蛛池模板: 国产乱辈通伦影片在线播放亚洲| 最新免费jlzzjlzz在线播放| 亚洲一区二区视频在线观看 | 亚洲精品无码午夜福利中文字幕 | 国产99久久久久久免费看| 国产大片91精品免费看3| 亚洲gay片在线gv网站| 精品国产麻豆免费网站| 亚洲经典千人经典日产| 好爽好紧好大的免费视频国产| 亚洲精品蜜夜内射| 又粗又大又硬又爽的免费视频| 国产精品久久亚洲一区二区| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚欧国产一级在线免费| 久久99亚洲综合精品首页 | 午夜高清免费在线观看| 亚洲Av永久无码精品黑人| 四虎永久免费网站免费观看| 人禽伦免费交视频播放| 亚洲VA中文字幕不卡无码| 久久A级毛片免费观看| 丁香婷婷亚洲六月综合色| 日韩免费观看的一级毛片| fc2免费人成在线视频| 亚洲av永久无码精品网站| 免费可以看黄的视频s色| 亚洲国产精品ⅴa在线观看| 亚洲国产精品日韩| 国产精品免费看久久久 | 亚洲精品无码不卡在线播放| 波多野结衣中文一区二区免费| 国产日韩在线视频免费播放| 亚洲视频在线一区| 永久免费观看的毛片的网站| 国产精品极品美女自在线观看免费 | 成人免费午夜在线观看| 国产高清对白在线观看免费91| 午夜亚洲www湿好大| 免费看大美女大黄大色| 国产精品亚洲一区二区三区在线观看 |