新聞中心

        Linux之svn常用命令詳解

        作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò) 收藏

        1、簽出代碼

        本文引用地址:http://www.104case.com/article/201610/305664.htm

        #svn co path

        2、添加文件

        #svn add xxx

        將xxx文件或目錄添加到svn庫(kù)中。

        3、刪除文件

        #svn delete xxx

        將xxx文件或目錄從svn庫(kù)中刪除

        4、修改文件

        #svn move xxx yyy

        將xxx文件重命名為yyy,類似于Linux的mv命令。

        5、檢查修改

        #svn status

        檢查修改了哪些文件。

        6、查看差異

        #svn diff

        列出修改的明細(xì)。

        #svn diff -r 3

        同具體的版本進(jìn)行diff

        #svn diff -r 2:3

        比較具體的兩個(gè)版本之間的diff

        7、查看日志

        #svn log

        查看歷史日志信息。

        8、撤銷(xiāo)修改

        #svn revert xxx

        撤銷(xiāo)修改,恢復(fù)到未改變的本地工作副本。

        9、移除沖突

        #svn resolved xxx

        移除沖突,但并不解決沖突。

        10、提交代碼

        #svn ci -m message xxx

        將xxx文件提交到svn庫(kù)。

        12、更新版本

        #svn update -r xxx path

        將代碼更新到xxx版本,如果update后面什么都沒(méi)有,則將當(dāng)前目錄更新到最新版本。

        13、分支與合并

        (1)創(chuàng)建分支

        #svn copy trunk branches/xxx -m message

        從trunk創(chuàng)建一個(gè)分支branch,這樣就可以checkout branch分支來(lái)開(kāi)發(fā)了。

        需要注意的是:最好將branch與trunk放在同一層級(jí),否則,容易引起混亂。

        (2)分支合到主干

        先用svn st查看branch分支沒(méi)有任何本地修改,即代碼都提交到svn了。

        再checkout一份trunk代碼到本地,并切換cd到trunk目錄下,執(zhí)行如下命令來(lái)將branch分支上的改動(dòng)merge到trunk:

        #svn merge http://.../branches/xxx

        如果出現(xiàn)merge沖突則進(jìn)行解決,如下查看沖突文件:

        #svn st|grep ^C

        解決沖突后,執(zhí)行svn ci提交變動(dòng)到svn。

        當(dāng)然也可以merge指定branch上的某些版本合并到trunk:

        #svn merge http://.../branches/xxx -r 150:HEAD

        上面命令將branch中從版本150到當(dāng)前版本的所有改動(dòng)都合并到trunk中。

        合并完后,可以用如下命令來(lái)查看merge情況:

        #svn mergeinfo http://.../branches/xxx

        執(zhí)行上面命令可以查看當(dāng)前branch中有哪些改動(dòng)已經(jīng)合并到trunk中了。

        #svn mergeinfo http://.../branches/xxx --show-revs eligible

        執(zhí)行上面命令可以查看branch中哪些改動(dòng)還未合并。

        (3)主干合到分支

        主干合并到分支的過(guò)程同上,具體如下:

        #svn co http://.../branches/xxx

        #svn merge http://.../trunk -r 150:160

        #svn st|grep ^C

        #svn ci -m merge trunk to branch

        #svn mergeinfo http://.../trunk

        #svn mergeinfo http://.../trunk --show-revs eligible

        14、版本回退

        將代碼回退到某一個(gè)版本的方法有2種:

        (1)svn merge

        #svn up

        先將本地代碼update到最新版本,比如:20。

        #svn log

        查看歷史版本,找出要恢復(fù)的版本,比如:10(svn版本號(hào)在查看的時(shí)候會(huì)是rxxx,但用的時(shí)候要去掉r)。

        #svn diff -r 10:20 代碼目錄

        如果有必要的話,可以用上面命令來(lái)查看待恢復(fù)版本與當(dāng)前版本的差異。

        #svn merge -r 20:10 代碼目錄

        回滾版本即反向合并,注意上面版本號(hào)之間的順序,上面命令將版本r20回退到r10。

        如果需要從當(dāng)前最新版本回退到xxx版本,還可以如下:

        #svn merge -r rHEAD:xxx http://.../trunk

        上面的地址是待回退分支,操作完成后,本地的working copy會(huì)更新為trunk的xxx版本的代碼。

        #svn diff -r 10 xxx.cpp

        如果必要可以用如上命令來(lái)查看回退后文件差異,如果有則手動(dòng)修改之。

        #svn ci -m roll back to r10 代碼目錄

        如果沒(méi)有差異,則需要將代碼提交到svn,否則回滾不會(huì)生效,提交后會(huì)在svn庫(kù)中生成新的版本號(hào),比如這里會(huì)是:r20。

        (2)svn up

        還可以如下來(lái)回退版本:

        #svn up

        #svn up -r 10

        #svn ci -m roll back to r10 代碼目錄

        15、創(chuàng)建tags

        #svn mkdir tags

        #svn copy trunk/ tags/project_1.0.0

        執(zhí)行上面命令將備份版本copy到tags。

        #svn ci -m add project_1.0.0 to tags



        關(guān)鍵詞:

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 镇康县| 九龙城区| 呼伦贝尔市| 南部县| 乌鲁木齐市| 洮南市| 休宁县| 资溪县| 股票| 高陵县| 黄大仙区| 东台市| 新丰县| 定边县| 怀仁县| 榆树市| 平度市| 桐柏县| 横峰县| 界首市| 兰西县| 马鞍山市| 安远县| 洮南市| 富川| 康定县| 恩施市| 仙居县| 合作市| 临高县| 邢台市| 平塘县| 湖南省| 广灵县| 桃源县| 镇赉县| 遂川县| 钟祥市| 卢龙县| 江山市| 甘谷县|