SVN使用和SVN常用命令

sgy618發表於2011-01-14

SVN使用和SVN常用命令

[@more@]

一、建立 svn客棧

去到svn做事的根目次,(這個目次是在啟動svn做事的時間指定的,啟動的下令如:svnserve -d -r /usr/local/svnrepos)推行 建立 客棧下令:

svnadmin create new_project

如許在/usr/local/svnrepos/ 內裡就多了一個new_project目次出來,進入new_project/conf/ 目次

vi svnserve.conf

將下面幾行的解釋去掉
[general]
anon-access = read #匿名的使用者可讀
auth_access = write #有授權的使用者可寫
password-db = passwd #表示svn使用者的授權原料生涯在passwd檔案內裡

在conf/目次內裡 vi passwd,新增授權原料。技倆如下:

[user]
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 test.php(新增test.php)

svn add *.php(新增當前目次下全部的php檔案)

3、將修正的檔案提交到版本庫

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

譬喻:svn commit -m “add test file for my test“ test.php

簡寫:svn ci

4、加鎖/解鎖

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

譬喻:svn lock -m “lock test file“ test.php

svn unlock PATH

5、更新到某個版本

svn update -r m path

譬喻:

svn update假如後頭沒有目次,預設將當前目次以及子目次下的全部檔案都更新到最新版本。

svn update -r 200 test.php(將版本庫中的檔案test.php還原到版本200)

svn update test.php(更新,於版本庫同步。假如在提交的時間提醒逾期的話,是由於鬥嘴,必要 先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/test.php -m “delete test file”

可能直接svn delete test.php 然後再svn ci -m ‘delete test file‘,推舉應用這種

簡寫:svn (del, remove, rm)

8、查察 日記

svn log path

譬喻:svn log test.php 表現這個檔案的全部批改記實,及其版本號的變動

9、查察 檔案具體資訊

svn info path

譬喻:svn info test.php

10、比擬 區別

svn diff path(將批改的檔案與根本 版本比擬 )

譬喻:svn diff test.php

svn diff -r m:n path(對版本m和版本n比擬 區別)

譬喻:svn diff -r 200:201 test.php

簡寫:svn di

11、將兩個版本之間的區別歸併到當前檔案

svn merge -r m:n path

譬喻:svn merge -r 200:205 test.php(將版本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 是上一版本,也可以寫具體 版本號,如許輸出結果是可以提交的)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23168012/viewspace-1044653/,如需轉載,請註明出處,否則將追究法律責任。

相關文章