1)檢出:
1
2
3
4
5
6
7
8
9
10
11
|
#svn co http://路徑(目錄或文件的全路徑) [本地目錄全路徑] --username 用戶名 --password 密碼
#svn checkout http://路徑(目錄或文件的全路徑) [本地目錄全路徑] --username 用戶名 --password 密碼
#svn co svn://路徑(目錄或文件的全路徑) [本地目錄全路徑] --username 用戶名 --password 密碼
#svn checkout svn://路徑(目錄或文件的全路徑) [本地目錄全路徑] --username 用戶名 --password 密碼
|
注:如果不帶--password 參數傳輸密碼的話,會提示輸入密碼,建議不要用明文的--password 選項。其中 username 與 password前是兩個短線,不是一個。不指定本地目錄全路徑,則檢出到當前目錄下。
例子:
1
2
3
4
5
6
7
8
9
10
11
|
#svn co svn://localhost/daobidao /home/daobidao --username daobidao --password daobidao
#svn checkout svn://localhost/daobidao /home/daobidao --username daobidao --password daobidao
#svn co http://localhost/daobidao /home/daobidao --username daobidao --password daobidao
#svn checkout http://localhost/daobidao /home/daobidao --username daobidao --password daobidao
|
2)導出(導出一個乾淨的不帶.svn文件夾的目錄樹):
1
2
3
|
#svn export [-r 版本號] http://路徑(目錄或文件的全路徑)[本地目錄全路徑] #svn export [-r 版本號] svn://路徑(目錄或文件的全路徑)[本地目錄全路徑] #svn export 本地檢出的(即帶有.svn文件夾的)目錄全路徑 要導出的本地目錄全路徑 |
注:第一種從版本庫導出乾淨工作目錄樹的形式是指定URL,如果指定了修訂版本號,會導出相應的版本,
如果沒有指定修訂版本,則會導出最新的,導出到指定位置。如果省略本地目錄全路徑,URL的最後一部分會作爲本地目錄的名字。
第二種形式是指定 本地檢出的目錄全路徑 到要導出的本地目錄全路徑,所有的本地修改將會保留,但是不在版本控制下(即沒提交的新文件,因爲.svn文件夾裏沒有與之相關的信息記錄)的文件不會拷貝。
例子:
1
2
3
|
#svn export svn://localhost/daobidao /home/daobidao #svn export http://localhost/daobidao /home/daobidao #svn export /home/daobidao /tmp/daobidao |
有效選項:
-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2範圍)
版本參數可以是如下之一:
NUMBER 版本號
'{' DATE '}' 在指定時間以後的版本
'HEAD' 版本庫中的最新版本
'BASE' 工作副本的基線版本
'COMMITTED' 最後提交或基線之前
'PREV' COMMITTED的前一版本
-q [--quiet] : 不打印信息,或只打印概要信息
-N [--non-recursive] : 過時;嘗試 --depth=files 或 --depth=immediates
--depth ARG : 受深度參數 ARG(“empty”,“files”,“immediates”,或“infinity”) 約束的操作
--force : 強制操作運行
--native-eol ARG : 使用非標準的 EOL 標記
系統中立的文件標記 svn:eol-style 屬性取值爲 “native”。
ARG 可以是以下之一“LF”,“CR”,“CRLF”
--ignore-externals : 忽略外部項目
全局選項:
--username ARG : 指定用戶名稱 ARG
--password ARG : 指定密碼 ARG
--no-auth-cache : 不要緩存用戶認證令牌
--non-interactive : 不要交互提示
--trust-server-cert : 不提示的接受未知的 SSL 服務器證書(只用於選項 “--non-interactive”)
--config-dir ARG : 從目錄 ARG 讀取用戶配置文件
--config-option ARG : 以下屬格式設置用戶配置選項:
FILE:SECTION:OPTION=[VALUE]
3)添加新文件:
1
|
#svn add filename |
注:告訴SVN服務器要添加文件了,還要用svn commint -m真實的上傳上去!
例子:
1
2
3
4
|
#svn add test.php /*添加test.php*/ #svn commit -m "添加我的測試用test.php" test.php #svn add *.php /*添加當前目錄下所有的php文件*/ #svn commit -m "添加我的測試用全部php文件" *.php |
4)提交:
1
2
|
#svn commit -m "提交備註信息文本" [-N] [--no-unlock] filename #svn ci -m "提交備註信息文本" [-N] [--no-unlock] filename |
注:必須帶上-m參數,參數可以爲空,但是必須寫上-m
例子:
1
2
3
4
5
6
7
8
9
10
|
#svn commit -m "提交當前目錄下的全部在版本控制下的文件" * /* 注意這個*表示全部文件*/
#svn commit -m "提交我的測試用test.php" test.php #svn commit -m "提交我的測試用test.php" -N --no-unlock test.php /*保持鎖就用–no-unlock開關*/
#svn ci -m "提交當前目錄下的全部在版本控制下的文件" * /*注意這個*表示全部文件*/
#svn ci -m "提交我的測試用test.php" test.php #svn ci -m "提交我的測試用test.php" -N --no-unlock test.php /*保持鎖就用–no-unlock開關*/
|
5)更新文件:
1
2
3
|
#svn update #svn update -r 修正版本 filename #svn update filename |
例子:
1
2
3
|
#svn update /*後面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本*/ #svn update -r 200 test.cpp /*將版本庫中的文件 test.cpp還原到修正版本(revision)200*/ #svn updatetest.php /*更新與版本庫同步*/ |
注:提交的時候提示過期衝突,需要先 update 修改文件,然後清除svn resolved,最後再提交commit。
6)刪除文件:
1
|
#svn delete svn://路徑(目錄或文件的全路徑) -m "刪除備註信息文本" |
推薦如下操作:
1
2
|
#svn delete 文件名 #svn ci -m "刪除備註信息文本" |
例子:
1
|
#svn deletesvn://192.168.1.1/testapp/test.php -m "刪除測試文件test.php" |
推薦如下操作:
1
2
|
svn delete test.php svn ci -m "刪除測試文件test.php" |