linux下svn命令常用操作

2021-09-07 03:09:13 字數 3567 閱讀 4279

1、將檔案checkout到本地目錄

svn checkout path(path是伺服器上的目錄) 

例如:svn checkout svn: 

簡寫: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:/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 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)

內容來自:[url]

Linux 下常用SVN命令

path 是伺服器上的目錄。svn checkout path 例如 svn checkout svn 簡寫 svn co 這樣將把你的工作拷貝放到subv而不是和前面那樣放到trunk file是某個檔案或者某個目錄,如果新增所有的檔案則用點 表示。svn add file 例如 svn add ...

linux下svn的常用操作命令總結

匯入 檔案到 repo 版本庫 我的 檔案存放在 var www html 2.從版本庫匯出 svn co url directory 將 checkout到指定目錄 匯出 到當前目錄下 執行匯出命令 svn checkout svn root test usrname a password b n...

Linux 下SVN 常用的命令

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