3、新增新檔案
svn add 檔名
注:告訴svn伺服器要新增檔案了,還要用svn commint -m真實的上傳上去!
例子:svn add test.php <- 新增test.php
svn commit -m 「新增我的測試用test.php「 test.php
svn add *.php <- 新增當前目錄下所有的php檔案
svn commit -m 「新增我的測試用全部php檔案「 *.php
4、提交
svn commit -m 「提交備註資訊文字「 [-n] [--no-unlock] 檔名
svn ci -m 「提交備註資訊文字「 [-n] [--no-unlock] 檔名
必須帶上-m引數,引數可以為空,但是必須寫上-m
例子: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、更新檔案
svn update
svn update -r 修正版本 檔名
svn update 檔名
例子:svn update <- 後面沒有目錄,預設將當前目錄以及子目錄下的所有檔案都更新到最新版本
svn update -r 200 test.cpp <- 將版本庫中的檔案 test.cpp 還原到修正版本(revision)200
svn update test.php <- 更新與版本庫同步。
提交的時候提示過期衝突,需要先 update 修改檔案,
然後清除svn resolved,最後再提交commit。
7、加鎖/解鎖
svn lock -m 「加鎖備註資訊文字「 [--force] 檔名
svn unlock 檔名
例子:svn lock -m 「鎖信測試用test.php檔案「 test.php
svn unlock test.php
8、比較差異
svn diff 檔名
svn diff -r 修正版本號m:修正版本號n 檔名
例子:svn diff test.php<- 將修改的檔案與基礎版本比較
svn diff -r 200:201 test.php<- 對 修正版本號200 和 修正版本號201 比較差異
9、檢視檔案或者目錄狀態
svn st 目錄路徑/名
svn status 目錄路徑/名<- 目錄下的檔案和子目錄的狀態,正常狀態不顯示
【?:不在svn的控制中; m:內容被修改;c:發生衝突;
a:預定加入到版本庫;k:被鎖定】
svn -v 目錄路徑/名
svn status -v 目錄路徑/名<- 顯示檔案和子目錄狀態
【第一列保持相同,第二列顯示工作版本號,
第三和第四列顯示最後一次修改的版本號和修改人】
注:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,
原因是svn在本地的.svn中保留了本地版本的原始拷貝。
10、檢視日誌
svn log 檔名
例子:svn log test.php<- 顯示這個檔案的所有修改記錄,及其版本號的變化
11、檢視檔案詳細資訊
svn info 檔名
例子:svn info test.php
12、svn 幫助
svn help <- 全部功能選項
svn help ci <- 具體功能的說明
13、檢視版本庫下的檔案和目錄列表
svn list svn://路徑(目錄或檔案的全路徑)
svn ls svn://路徑(目錄或檔案的全路徑)
例子:svn list svn://localhost/test
svn ls svn://localhost/test <- 顯示svn://localhost/test目錄下的所有屬於版本庫的檔案和目錄
15、恢復本地修改
svn revert [--recursive] 檔名
注意: 本子命令不會訪問網路,並且會解除衝突的狀況。但是它不會恢復被刪除的目錄。
例子:svn revert foo.c <- 丟棄對乙個檔案的修改
svn revert --recursive . <-恢復一整個目錄的檔案,. 為當前目錄
16、把工作拷貝更新到別的url
svn switch http://目錄全路徑 本地目錄全路徑
例子:svn switch http://localhost/test/456 . <- (原為123的分支)當前所在目錄分支到localhost/test/456
17、解決衝突
svn resolved [本地目錄全路徑]
例子:$ svn update
c foo.c
updated to revision 31.
如果你在更新時得到衝突,你的工作拷貝會產生三個新的檔案:
$ ls
foo.c
foo.c.mine
foo.c.r30
foo.c.r31
當你解決了foo.c的衝突,並且準備提交,執行svn resolved讓你的工作拷貝知道你已經完成了所有事情。
你可以僅僅刪除衝突的檔案並且提交,但是svn resolved除了刪除衝突檔案,還修正了一些記錄在工作拷貝管理區域的記錄資料,所以我們推薦你使用這個命令。
18、不checkout而檢視輸出特定檔案或url的內容
svn cat http://檔案全路徑
例子:svn cat http://localhost/test/readme.txt
19、新建乙個分支copy
svn copy brancha branchb -m "make b branch" // 從brancha拷貝出乙個新分支branchb
20、合併內容到分支merge
svn merge brancha branchb // 把對brancha的修改合併到分支branchb
svn 常用指令
svn cat 顯示特定版本的某檔案內容。svn list 顯示乙個目錄或某一版本存在的檔案列表。svn log 顯示svn 的版本log,含作者 日期 路徑等。svn diff 顯示特定修改的行級詳細資訊。list示例 svn list 檢視目錄中的檔案。svn list v 檢視詳細的目錄的資訊...
svn 常用指令
1 將檔案checkout到本地 svn checkout path path是伺服器的目錄 例如 svn checkout svn 2 往版本庫中新增新的檔案 svn add filename 例如 svn add test.cpp 3 將改動的檔案提交到版本庫 svn commit m 注釋 n...
svn常用指令
1 linux命令列下將檔案checkout到本地目錄 svn checkout path path是伺服器上的目錄 例如 svn checkout svn 簡寫 svn co 2 linux命令列下往版本庫中新增新的檔案 svn add file 例如 svn add test.php 新增tes...