• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            SVN使用和SVN常用命令

            更新時間:2024-02-12 21:17:55 閱讀: 評論:0

            2024年2月12日發(作者:臍帶多久脫落正常)

            SVN使用和SVN常用命令

            Svnrve –d –r 路徑名+文件名

            Svn://IP

            SVN使用和SVN常用命令

            之前比較少接觸linux,今天參考網上的資料實踐了一下如何建立svn倉庫,包括簡單的授權設置。

            假設要建立一個svn項目:new_project

            一、創建svn倉庫

            去到svn服務的根目錄,(這個目錄是在啟動svn服務的時候指定的,啟動的命令如:svnrve

            -d -r /usr/local/svnrepos)執行創建倉庫命令:

            svnadmin create new_project

            這樣在/usr/local/svnrepos/ 里面就多了一個new_project目錄出來,進入new_project/conf/ 目錄

            vi

            將下面幾行的注釋去掉

            [general]

            anon-access = read #匿名的用戶可讀

            auth_access = write #有授權的用戶可寫

            password-db = passwd #表示svn用戶的授權資料保存在passwd文件里面

            在conf/目錄里面vi passwd,添加授權資料。格式如下:

            [ur]

            your_name = your_password

            二、導入源碼

            (導入源碼的過程不一定要按照下面說的來做,關于svn目錄管理其實可以很靈活,適合自己就行)

            現在先準備一個臨時文件夾,用來構建倉庫中的基本目錄結構:

            mkdir temp

            mkdir temp/trunk

            mkdir temp/tags

            mkdir temp/branches

            這時可以將temp目錄導入的倉庫中:

            svn import temp svn://localhost/new_project -m 'initial'

            如果new_project已經開發到一定程度,我們只需要將源碼導入到倉庫中的trunk就行了。

            假設源碼的根目錄是~/new_project

            進入~目錄,把源碼導入到trunk中:

            svn import new_project svn://localhost/new_project/trunk -m 'initial again'

            ===============================================================================

            1、將文件checkout到本地目錄

            svn checkout path(path是服務器上的目錄)

            例如:svn checkout svn://192.168.1.1/pro/domain

            簡寫:svn co

            2、往版本庫中添加新的文件

            svn add file

            例如:svn add (添加)

            svn add *.php(添加當前目錄下所有的php文件)

            3、將改動的文件提交到版本庫

            svn commit -m “LogMessage“ [-N] [–no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)

            例如:svn commit -m “add test file for my test“

            簡寫:svn ci

            4、加鎖/解鎖

            svn lock -m “LockMessage“ [–force] PATH

            例如:svn lock -m “lock test file“

            svn unlock PATH

            5、更新到某個版本

            svn update -r m path

            例如:

            svn update如果后面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。

            svn update -r 200 (將版本庫中的文件還原到版本200)

            svn update (更新,于版本庫同步。如果在提交的時候提示過期的話,是因為沖突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

            簡寫:svn up

            6、查看文件或者目錄狀態

            1)svn status path(目錄下的文件和子目錄的狀態,正常狀態不顯示)

            【?:不在svn的控制中;M:內容被修改;C:發生沖突;A:預定加入到版本庫;K:被鎖定】

            2)svn status -v path(顯示文件和子目錄狀態)

            第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最后一次修改的版本號和修改人。

            注:svn status、svn diff和 svn revert這三條命令在沒有網絡的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

            簡寫:svn st

            7、刪除文件

            svn delete path -m “delete test fle“

            例如:svn delete svn://192.168.1.1/pro/domain/ -m “delete test file”

            或者直接svn delete 然后再svn ci -m ‘delete test file‘,推薦使用這種

            簡寫:svn (del, remove, rm)

            8、查看日志

            svn log path

            例如:svn log 顯示這個文件的所有修改記錄,及其版本號的變化

            9、查看文件詳細信息

            svn info path

            例如:svn info

            10、比較差異

            svn diff path(將修改的文件與基礎版本比較)

            例如:svn diff

            svn diff -r m:n path(對版本m和版本n比較差異)

            例如:svn diff -r 200:201

            簡寫:svn di

            11、將兩個版本之間的差異合并到當前文件

            svn merge -r m:n path

            例如:svn merge -r 200:205 (將版本200與205之間的差異合并到當前文件,但是一般都會產生沖突,需要處理一下)

            12、SVN 幫助

            svn help

            svn help ci

            ——————————————————————————

            以上是常用命令,下面寫幾個不經常用的

            ——————————————————————————

            13、版本庫下的文件和目錄列表

            svn list path

            顯示path目錄下的所有屬于版本庫的文件和目錄

            簡寫:svn ls

            14、創建納入版本控制下的新目錄

            svn mkdir: 創建納入版本控制下的新目錄。

            用法: 1、mkdir PATH?

            2、mkdir URL?

            創建版本控制的目錄。

            1、每一個以工作副本 PATH 指定的目錄,都會創建在本地端,并且加入新增

            調度,以待下一次的提交。

            2、每個以URL指定的目錄,都會透過立即提交于倉庫中創建。

            在這兩個情況下,所有的中間目錄都必須事先存在。

            15、恢復本地修改

            svn revert: 恢復原始未改變的工作副本文件 (恢復大部份的本地修改)。revert:

            用法: revert PATH?

            注意: 本子命令不會存取網絡,并且會解除沖突的狀況。但是它不會恢復

            被刪除的目錄

            16、代碼庫URL變更

            svn switch (sw): 更新工作副本至不同的URL。

            用法: 1、switch URL [PATH]

            2、switch –relocate FROM TO [PATH?]

            1、更新你的工作副本,映射到一個新的URL,其行為跟“svn update”很像,也會將

            服務器上文件與本地文件合并。這是將工作副本對應到同一倉庫中某個分支或者標記的

            方法。

            2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動

            (比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用

            這個命令更新工作副本與倉庫的對應關系。

            17、解決沖突

            svn resolved: 移除工作副本的目錄或文件的“沖突”狀態。

            用法: resolved PATH?

            注意: 本子命令不會依語法來解決沖突或是移除沖突標記;它只是移除沖突的

            相關文件,然后讓 PATH 可以再次提交。

            18、輸出指定文件或URL的內容。

            svn cat 目標[@版本]?如果指定了版本,將從指定的版本開始查找。

            svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)

            本文來自CSDN博客,轉載請標明出處:/wssxy/archive/2009/05/27/

            本文來自CSDN博客,轉載請標明出處:/angelflying928/archive/2010/01/15/

            svn常用命令整理

            2009-06-12 作者:狂風 來源:狂風的blog

            svn命令 通常都有幫助,可通過如下方式查詢:

            $ svn help

            知道了子命令,但是不知道子命令的用法,還可以查詢:

            $ svn help add

            開發人員常用命令

            (1) 導入項目

            $ cd ~/project$ mkdir -p svntest/{trunk,branches,tags}

            $ svn import svntest localhost/test/svntest --message "Start project"

            ...

            $ rm -rf svntest

            我們新建一個項目svntest,在該項目下新建三個子目錄:trunk,開發主干;branches,開發分支;tags,開發階段性標簽。然后導入到版本庫test下,然后把svntest拿掉。

            (2) 導出項目

            $ svn checkout localhost/test/svntest/trunk

            修訂版本號的指定方式是每個開發人員必須了解的,以下是幾個參考例子,說明可參考svn推薦書。

            $ svn diff --revision PREV:COMMITTED foo.c

            # shows the last change committed to foo.c

            $ svn log --revision HEAD

            # shows log message for the latest repository commit

            $ svn diff --revision HEAD

            # compares your working file (with local changes) to the latest version

            # in the repository

            $ svn diff --revision BASE:HEAD foo.c

            # compares your “pristine” foo.c (no local changes) with the

            # latest version in the repository

            $ svn log --revision BASE:HEAD

            # shows all commit logs since you last updated

            $ svn update --revision PREV foo.c

            # rewinds the last change on foo.c

            # (foo.c's working revision is decread)

            $ svn checkout --revision 3

            # specified with revision number

            $ svn checkout --revision {2002-02-17}

            $ svn checkout --revision {15:30}

            $ svn checkout --revision {15:30:00.200000}

            $ svn checkout --revision {"2002-02-17 15:30"}

            $ svn checkout --revision {"2002-02-17 15:30 +0230"}

            $ svn checkout --revision {2002-02-17T15:30}

            $ svn checkout --revision {2002-02-17T15:30Z}

            $ svn checkout --revision {2002-02-17T15:30-04:00}

            $ svn checkout --revision {20020217T1530}

            $ svn checkout --revision {20020217T1530Z}

            $ svn checkout --revision {20020217T1530-0500}

            (3) 日常指令

            $ svn update

            $ svn add

            $ svn add

            $ svn add --non-recursive

            $ svn delete README

            $ svn copy foo bar

            $ svn move foo1 bar1

            $ svn status

            $ svn status --verbo

            $ svn status --verbo --show-updates

            $ svn status stuff/fox.c

            $ svn diff$ svn diff > patchfile

            $ svn revert README

            $ svn revert

            修改沖突發生時,會生成三個文件:

            .mine, .rOLDREV, .rNEWREV。比如:

            $ ls -l

            .r1

            .r2

            解決修改沖突方式之一:修改沖突的文件,然后運行命令:

            $ svn resolved

            方式之二:用庫里的新版本覆蓋你的修改:

            $ cp .r2

            $ svn resolved

            方式之三:撤銷你的修改,這種方式不需要運行resolved子命令:

            $ svn revert

            Reverted ''

            $ ls sandwich.*

            確保沒問題后,就可以提交了。

            $ svn commit --message "Correct some fatal problems"

            $ svn commit --file logmsg

            $ svn commit

            (4) 檢驗版本歷史

            $ svn log

            $ svn log --revision 5:19

            $ svn log foo.c

            $ svn log -r 8 -v

            $ svn diff

            $ svn diff --revision 3

            $ svn diff --revision 2:3

            $ svn diff --revision 4:5 /repos/example/trunk/text/

            $ svn cat --revision 2

            $ svn cat --revision 2 > .v2

            $ svn list /repos/svn

            $ svn list --verbo /repos/svn

            $ svn checkout --revision 1729 # Checks out a new working copy at r1729

            ?

            $ svn update --revision 1729 # Updates an existing working copy to r1729

            ?

            (5) 其他有用的命令

            svn cleanup為失敗的事務清場。

            (6) 分支和合并

            建立分支方法一:先checkout然后做拷貝,最后提交拷貝。

            $ svn checkout /repos/calc bigwc

            A bigwc/trunk/

            A bigwc/trunk/Makefile

            A bigwc/trunk/integer.c

            A bigwc/trunk/button.c

            A bigwc/branches/

            Checked out revision 340.

            $ cd bigwc

            $ svn copy trunk branches/my-calc-branch

            $ svn status

            A + branches/my-calc-branch

            $ svn commit -m "Creating a private branch of /calc/trunk."

            Adding branches/my-calc-branch

            Committed revision 341.

            建立分支方法二:直接遠程拷貝。

            $ svn copy /repos/calc/trunk

            /repos/calc/branches/my-calc-branch

            -m "Creating a private branch of /calc/trunk."

            Committed revision 341.

            建立分支后,你可以把分支checkout并繼續你的開發。

            $ svn checkout /repos/calc/branches/my-calc-branch

            假設你已經checkout了主干,現在想切換到某個分支開發,可做如下的操作:

            $ cd calc

            $ svn info | grep

            URLURL: /repos/calc/trunk

            $ svn switch /repos/calc/branches/my-calc-branch

            U integer.c

            U button.c

            U Makefile

            Updated to revision 341.

            $ svn info | grep

            URLURL: /repos/calc/branches/my-calc-branch

            合并文件的命令參考:

            $ svn diff -r 343:344 /repos/calc/trunk

            $ svn merge -r 343:344 /repos/calc/trunk

            $ svn commit -m "integer.c: ported r344 (spelling fixes) from trunk."

            $ svn merge -r 343:344 /repos/calc/trunk my-calc-branch

            $ svn merge /repos/branch1@150

            /repos/branch2@212

            my-working-copy

            $ svn merge -r 100:200 /repos/trunk my-working-copy

            $ svn merge -r 100:200 /repos/trunk

            $ svn merge --dry-run -r 343:344 /repos/calc/trunk

            最后一條命令僅僅做合并測試,并不執行合并操作。

            建立標簽和建立分支沒什么區別,不過是拷貝到不同的目錄而已。

            $ svn copy /repos/calc/trunk

            /repos/calc/tags/relea-1.0

            -m "Tagging the 1.0 relea of the 'calc' project."

            $ ls

            my-working-copy/

            $ svn copy my-working-copy /repos/calc/tags/mytag

            Committed revision 352.

            后一種方式直接把本地的工作拷貝復制為標簽。

            此外,你還可以刪除某個分支。

            $ svn delete /repos/calc/branches/my-calc-branch

            -m "Removing obsolete branch of calc project."

            管理人員常用命令

            (7) 版本庫管理

            $ svnadmin help

            ...

            $ svnadmin help create

            ...

            $ svnadmin create --fs-type bdb /usr/local/repository/svn/test

            $ chown -R /usr/local/repository/svn/test

            建立版本庫,庫類型為bdb(使用Berkeley DB做倉庫),庫名稱為test。

            svn版本庫有兩種存儲方式:基于Berkeley DB(bdb)或者基于文件系統(fsfs),通過 --fs-type可指定存儲方式。

            (8) 查詢版本庫信息

            $ svnlook help

            ...

            $ svnlook help tree

            ...

            $ svnlook tree /usr/local/repository/svn/test --show-ids

            SVN使用和SVN常用命令

            本文發布于:2024-02-12 21:17:55,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1707743875265368.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:SVN使用和SVN常用命令.doc

            本文 PDF 下載地址:SVN使用和SVN常用命令.pdf

            下一篇:返回列表
            標簽:文件   目錄   版本   倉庫   命令   修改
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 制服jk白丝h无内视频网站| 另类 专区 欧美 制服| 91亚洲一线产区二线产区| 欧美大bbbb流白水| 国产精品理论片在线观看| 华人在线亚洲欧美精品| 成人自拍小视频在线观看| 亚洲偷自拍另类一区二区| 国产精品日韩av在线播放| 国产免费午夜福利蜜芽无码| 久久久久久伊人高潮影院| 在线观看欧美精品二区| 综合偷自拍亚洲乱中文字幕 | 在线观看国产小视频| 国产精品福利一区二区三区 | 欧美肥老太交视频免费| 综合激情亚洲丁香社区| 亚洲av网站首页在线观看| 国产精品国产高清国产一区| 亚洲中文字幕一区二区| 国精品午夜福利视频不卡| 在线日韩一区二区| 97亚洲熟妇自偷自拍另类图片| 人妻影音先锋啪啪AV资源| 欧美日韩国产精品爽爽| 二区中文字幕在线观看| 性国产vⅰdeosfree高清| 在线视频一区二区三区色| 久久久av男人的天堂| 日韩精品毛片一区到三区| 亚洲性线免费观看视频成熟| 亚洲最大在线精品| 男人添女人下部高潮视频| 内地偷拍一区二区三区| 人妻一区二区三区三区| 国产成人女人毛片视频在线| 丁香婷婷色综合激情五月| 久久天堂av综合色无码专区| 好吊视频专区一区二区三区| 最新亚洲av日韩av二区| 国产精品白丝久久av网站|