svn 常用指令

2021-09-13 01:42:34 字數 3280 閱讀 5757

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...