SVN常用命令行

2021-07-03 09:32:11 字數 4812 閱讀 2251

1.建立儲存庫

假設d:/dev/svnrepo為存放svn儲存庫的目錄

svnadmin create d:/dev/svnrepo/test  建立一名為test的儲存庫

2.匯入專案

svn import [local path] [svn path] -m "initial import"

引數:-m 為日誌

3.匯出專案

svn export 《專案資料夾》 《你的資料夾》

svn export -r 《專案資料夾》 《你的資料夾》

-------------------------

4.取出

svn co(checkout) http://localhost/svn/test/onlytest   ---  將onlytest資料夾其下的檔案取出來並建立預設資料夾onlytest

svn co -r [版本號] --取出特定版本

svn co http://localhost/svn/test/onlytest mytest  --將onlytest資料夾下的檔案取出,放入新建立的資料夾mytest中

5.新增

svn add *  --  svn會將未納入版本控制的檔案加入版本控制中(必須svn commit)

svn add --non-recursive *  非遞迴新增

6.刪除

svn delete(rm,remove,del) --刪除檔案和目錄(必須svn commit)

7.提交

svn commit -m "you log"  --提交

svn commit --changelist --提交指定的changelist

8.建立目錄

svn mkdir

svn mkdir

9.移動檔案或目錄

svn move

svn move

10.輸出特定檔案或url的內容

svn cat -- 輸出特定檔案或url的內容

svn cat -r

------------------------------

11.顯示本地或遠端某一檔案或目錄的詳細資訊

svn info

svn info -r

12.列表

svn list(ls)

svn list -r

13.當前目錄或檔案的狀態

svn status

svn status --show-updates(或-u) 從專案儲存庫中找出哪些檔案有更新

狀態:第一列:指出條目的狀態

空無改動

a  新增

c  衝突

d  刪除

g  合併

m  修改

x   無版本記錄,被svn:externals使用

?    未用版本控制管理

第二列:屬性狀態

空無改動

c  衝突

m  修改

第三列:工作拷貝是否被鎖定空未鎖

l   鎖了

14.清理

svn cleanup  -- 遞迴清理工作拷貝

15.幫助

svn help

svn help --顯示子命令的幫助,如:svn help add

-----------------------

18.鎖定某一目錄或檔案

svn propset svn:needs-lock true  《二進位制檔案》  --設定需要鎖[svn會將其設定為唯讀,提示使用者編輯這個檔案前先加鎖]

svn lock

svn lock --force --強制對檔案加鎖,即使此檔案已被別人加鎖

19.解鎖

svn unlock

svn unlock --force --可以解鎖其他使用者鎖定的檔案

20.顯示特定檔案和url每一行的作者和修訂版本資訊

svn blame -- 每一行文字在開頭都放了最後修改的作者(使用者名稱)和修訂版本號。

svn blame -r

21.更新

svn update ----把版本庫的修改帶到工作拷貝

svn update -r-- 改變到某乙個版本

狀態:a  新增   add

d  刪除   delete

u  更新   update

c  衝突   conflict

m  合併   merge

22.找不同

svn diff --找出工作版本和最後更新的版本中的不同

svn diff -c 檢視檔案

在修訂版本

修改的內容,是version和version-1比較

svn diff -r 察看你的工作拷貝對舊的修訂版本

的修改svn diff -r :使用範圍符號來比較修訂版本

和svn diff -r :

svn diff --changelist

23.拷貝

svn copy -- 其中source和dist既可以是工作目錄檔案也可以是url

如:svn copy foo.txt bar.txt

svn copy near.txt file:///tmp/repos/test/far-away.txt -m "remote copy."

svn copy file:///tmp/repos/test/far-away near-here

svn copy file:///tmp/repos/test/far-away file:///tmp/repos/test/over-there -m "remote copy."

24. 顯示提交日誌資訊

svn log -r

svn log -r :

svn log

svn log -r  

svn log -r :

svn log -v 顯示詳細的資訊(包括每個版本有哪些檔案有變動)

svn log --stop-on-copy 得出分支是什麼時候建立的

25.刪除工作拷貝檔案或目錄的「衝突」狀態(相關的衝突檔案檔案)

svn resolved

26.取消所有的本地編輯

svn revert

svn revert --recursive 遞迴

27.解決衝突

svn resolve --accept

status:

base:選擇你更新你的工作拷貝前的你checkout出的未經修改的版本

working:手工處理後,選擇當前你工作拷貝中的版本

mine-full:選擇在你svn update前的工作拷貝

theirs-full:選擇svn update取出的檔案拷貝

28.將檔案放入到乙個改變列表中

svn changelist(cl)

svn commit --changelist --只提交此change list的檔案

29.版本號標識

(1)號  87

(2) 

(3)head 儲存庫中最新版本

(4)base   工作拷貝中你最後簽出的版本

(5)commited 最後改動版本,等於或早於base

(6)prev  commited之前的乙個版本

30.產生和應用補丁

svn diff > file.patch

patch file.patch

31.svn專案組織

project/

trunk/    --主幹

branches/   --分支

tags/  --標籤

32.常用示例

(1)提交改動

svn update  --更新到專案的當前狀態

# resolve conflicts 解決衝突

編輯檔案

svn resolved

# run tests 執行測試

svn commit -m "your logs"  --提交

(2)簡單bug修正

a.在乙個分支中修正bug並提交

b.將其合併到存在此bug的其他分支中(svn merge -r:)

(3)複雜bug修正

a.建立乙個bug修正分支(svn copy)  name=bug-trackid

b.為這個修正分支在修正前打標籤(svn copy) name=bugpre-trackid

c.修正bug

d.為這個修正在修正後打標籤(svn copy) name=bugpost-trackid

e.合併此bug修正到其他分支(svn merge -r bugpre-trackid:bugpost-trackid)

SVN 命令列常用命令

1 將檔案checkout到本地目錄 svn checkout path path是伺服器上的目錄 例如 svn checkout svn 簡寫 svn co 2 往版本庫中新增新的檔案 svn add file 例如 svn add test.php 新增test.php svn add php ...

mysql常用命令行 mysql常用命令行操作語句

第一招 mysql服務的啟動和停止 net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 鍵入命令mysql uroot p,回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是...

常用命令行

more的語法 more 檔名 enter 向下n行,需要定義,預設為1行 ctrl f 向下滾動一屏 空格鍵 向下滾動一屏 ctrl b 返回上一屏 輸出當前行的行號 q 退出more dos命令 1.dir 列出當前目錄下的檔案和資料夾 2.md 建立目錄 3.rd 刪除目錄 rd s 資料夾名...