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

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

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

    jasmine214--love

    只有當(dāng)你的內(nèi)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
    posts - 731, comments - 60, trackbacks - 0, articles - 0

    SVN 備課筆記(2011.4.7-kiki

    *******************************************************************************

    好的,我們現(xiàn)在開(kāi)始,為了照顧新員工,我先介紹一下接下來(lái)如何進(jìn)行我們的培訓(xùn)內(nèi)容。

    首先,我會(huì)先帶大家過(guò)一遍SVN 的常用命令,然后,我們實(shí)際演示一下SVN在開(kāi)發(fā)過(guò)程中的實(shí)際使用周期及中間會(huì)遇到什么問(wèn)題。

    *******************************************************************************

    首先,我們了解一下什么是Subversion,以及Subversion的歷史由來(lái)。

    SVN 是一個(gè)自由/開(kāi)源的版本控制系統(tǒng),SVN 讓你的文件和目錄可以超越時(shí)空,允許你的數(shù)據(jù)恢復(fù)到早期版本,可以檢查所有的歷史。所以我們將SVN理解成一個(gè)時(shí)間機(jī)器。

    現(xiàn)在我們知道SVN是一個(gè)版本控制系統(tǒng),(有一些版本控制系統(tǒng)也是SCM系統(tǒng),可以用來(lái)管理源碼樹(shù),并且具備很多與軟件開(kāi)發(fā)有關(guān)的特性-比如對(duì)編程語(yǔ)言的支持或者提供程序構(gòu)建工具,)不過(guò)SVN不是這樣的系統(tǒng),大家有興趣可以了解下其他的版本管理工具。

    *******************************************************************************

    這就是Subversion的產(chǎn)生歷史,從2000年開(kāi)始,2001年完成第一個(gè)完整版本,到現(xiàn)在有1.6版了。

    *******************************************************************************

    Subversion的架構(gòu),我們可以看到:可以有3中方式來(lái)訪問(wèn)SVN庫(kù)。我們現(xiàn)在最多使用的是通過(guò)Apache的這種URL的方式來(lái)訪問(wèn)。

    *******************************************************************************

    SVN它有一個(gè)與大多數(shù)版本控制工具不一樣的特點(diǎn):在SVN中,修訂號(hào)是針對(duì)代碼庫(kù)中所有對(duì)象的,包括:目錄/子目錄/文件。修訂號(hào)的實(shí)際意義是對(duì)代碼庫(kù)的第幾次提交。

    *******************************************************************************

    接下來(lái),我們看一下SVN客戶端經(jīng)常使用的一些命令。下面我會(huì)給大家演示。

    測(cè)試庫(kù):/home/kikitest

    訪問(wèn)路徑:http://10.58.100.247/kikitest/

    演示服務(wù)器:10.58.100.198

     

    1.       svn co s204代碼 1分鐘)(1-4518

    2.       svn info ---------查看代碼庫(kù)的屬性信息。

    3.       svn st--------查看文件的修改信息(M,U,C,?,?代表這個(gè)文件是不受控的。

    4.       svn log –r 100  -v --------查看代碼庫(kù)的日志信息,-r,-v,兩個(gè)參數(shù)show出某個(gè)版本的時(shí)候具體修改了哪些文件。

    *******************************************************************************

    5.       svn cp MakeFile makefile1---------

    6.       svn st -----------會(huì)發(fā)現(xiàn)本地的工作拷貝WC中多了一個(gè)文件makefile1,前面的/代表這個(gè)文件目前是不受控的。

    7.       svn ci ---------提交

    8.       svn delete------------刪除一個(gè)文件(是庫(kù)中的文件,狀態(tài)不在中間狀態(tài)如M,C),提交之后庫(kù)中文件將真正被刪除。

    9.       svn revert testfile2---------我們?cè)噲D修改一個(gè)文件,會(huì)看到狀態(tài)變成M,在testfile2修改之后,我們考慮將他進(jìn)行提交,如果發(fā)現(xiàn)修改很多是有問(wèn)題的話,可以使用svn revert 取消這個(gè)文件的所有更改。

    10.   svn blame Makefile ----------我們可以查看某個(gè)文件的修改歷史,可以具體到每行代碼的修訂號(hào)和修改者。

     *******************************************************************************

    11.   svn cat Makefile –r 400 ---------查看某個(gè)版本的文件內(nèi)容。在我們的WC中,一個(gè)文件只存在一個(gè)修訂號(hào),想要看其他任一修訂號(hào)的某個(gè)文件,可以用svn cat 加上版本號(hào)即可。

    12.   svn diff Makefile –r 2298:3322-----------查看一個(gè)文件在兩個(gè)修訂號(hào)之間的差異。

    *******************************************************************************

    13.   svn co s204 –r 4500---------co s204代碼

    14.   svn info --------------我們看到是4500版本的代碼了

    15.   svn up –r 4518---------想更新到4518版本代碼,從這里我們看到從4500-4518,變化過(guò)程中修改了一些文件,刪除過(guò)一些文件,同事新增了一些文件,最終產(chǎn)生了4518版本的代碼。

    *******************************************************************************

    16.   svn export url 目錄名-----------從某個(gè)其他庫(kù)的源碼導(dǎo)出一個(gè)干凈的目錄樹(shù)。

    17.   svn import /目錄名  目的地/庫(kù)名--------導(dǎo)入到庫(kù)中。

    18.   svn mv bcm963xx trunk/----------搬移目錄內(nèi)容

    19.   svn copy  url1  url2 –m “………” ---------創(chuàng)建新分支,可以加版本號(hào)-r,linux下的WC目錄中就可以執(zhí)行創(chuàng)建分支了。

    *******************************************************************************

    20.   處理沖突的方法:

    下面我說(shuō)一個(gè),通用的解決沖突的辦法,還不會(huì)覆蓋代碼,以test.php為例

    1,修改文件后提交不了,大多是因?yàn)榘姹静灰恢略斐傻摹8乱幌?,不產(chǎn)生沖突的情況,就可以提交了。

    2,更新文件,如果出現(xiàn)沖突的情況,打開(kāi)沖突文件test.php會(huì)看到類似以下的內(nèi)容

    <<<<<<<<<<<<<<<
    asdfadfadfadf
    11111111111111
    =======
    asdfadfadfadf
    111111111111111
    222222222222
    >>>>>>>>>>>>>>>>

    結(jié)合別人修改的內(nèi)容和自己修改的內(nèi)容,然后把文件中 <<<<<,=====,>>>>>>>這類沖突符號(hào)去掉。去掉后,還是不 能提交的,為什么?因?yàn)闆_突時(shí)會(huì)產(chǎn)生三個(gè)文件,有這三個(gè)文件存在肯定提交不了。

    客戶端用的tortoisesvn(這個(gè)估計(jì)程序員用的最多),沖突時(shí)會(huì)多產(chǎn)生,三個(gè)文件

    test.php.mine   是沖突前自己的文件

    test.php.版本號(hào)   是沖突前本地的版本文件

    test.php.服務(wù)器的版本號(hào)   是沖突后服務(wù)器版本文件

    提交的時(shí)候,把這三個(gè)文件刪除掉就可以提交了。

    3,產(chǎn)生覆蓋的原因。

    a),在修改沖突文件test.php時(shí),把別人代碼都刪除掉了,只留下了自己的代碼。這樣就會(huì)產(chǎn)生覆蓋了。

    b),把test.php.mine中的內(nèi)容直接copytest.php文件,這樣也會(huì)產(chǎn)生代碼覆蓋。

    上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。

     

    21.   合并

    svn merge test.php –r 200:205 (將版本200205之間的差異合并到當(dāng)前文件,通常會(huì)產(chǎn)生沖突,需要處理一下。)

    End.

    主站蜘蛛池模板: 亚洲国产精品网站在线播放| 亚洲国产黄在线观看| 亚洲三级高清免费| 亚洲精品午夜视频| 亚洲国产成人五月综合网 | 亚洲免费福利视频| 亚洲免费在线视频播放| av无码久久久久不卡免费网站| 成人免费视频一区二区| 亚洲youjizz| 波多野结衣亚洲一级| 亚洲 欧洲 日韩 综合在线| 亚洲一区二区三区写真| 亚洲乱理伦片在线观看中字| 亚洲国产av玩弄放荡人妇| 国产青草亚洲香蕉精品久久| 亚洲乱码一二三四区乱码| 国产午夜亚洲精品国产| 日本亚洲欧美色视频在线播放 | 学生妹亚洲一区二区| 亚洲人成电影网站色www| 亚洲AV无码专区在线厂| 尤物视频在线免费观看| 日本道免费精品一区二区| 无码精品人妻一区二区三区免费| 一级毛片免费播放视频| 美女被爆羞羞网站免费| 亚洲国产精品久久久久秋霞小| 国产亚洲精品美女久久久久| xxxxx做受大片视频免费| 日本视频免费高清一本18| 99久久99久久精品免费看蜜桃| 女人张开腿给人桶免费视频| 4399好看日本在线电影免费| 成人免费男女视频网站慢动作| 亚洲人成色77777在线观看大| 久久精品国产亚洲av成人| 亚洲av永久综合在线观看尤物| 色噜噜的亚洲男人的天堂| 大地资源中文在线观看免费版| 91成人免费观看网站|