svn command in Ubuntu

Svn command in linux

1.svn狀態:

svns tatus path

M:修改的文件,?:新添加的文件,D:刪除的文件,U:更新文件);

svns tatus -v path

顯示該目錄下面所有的文件和子目錄狀態


2.svn信息(主要可以看出svn的版本號):svn info ;


3.查看svn logsvn log -ln(n個連續的log)

svn log test.php

顯示test.php文件的所有修改記錄,及其版本號的變化


4.svn中拿下數據:svn checkout (source address) . checkout可以簡寫成co;


5.數據更新:svn update(每次update之後會得到一個最新的版本號);

update的三種用法:

第一:svn update

第二:svn update -r m(指的是版本號)path(還原到m版本)

第三:svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因爲衝突,需要先update,修改文件,然後清除svn resolved,最後再提交commit)


6.svn添加文件:svn add test.php

在添加一個新的文件夾的時候,提交之前需要svnadd file,但是沒有commit之前,test.php只在本地存在,add只是給test.php做一個標記而已。


7.svn刪除文件:svn delete file;


8.svn提交(需要著名文件修改的地方):svn commit path -m'~message'


9.svn重命名命令:svn mv file filename(不能直接用mv命令,因爲先前的file文件已經在版本控制之內了)


11.svn log -r12


12爲版本號


svn log -vr12


的詳細信息,你可以得到版本號爲12的詳細信息。


包括路徑和被修改的時間


svn update -r12


回滾到版本號爲12的版本


update下來之後這個已經在版本控制之內,不能進行提交,所以你要做的事情就是講這個文件重新導入svn


svn mv sourcefilename z


svn export z sourcefilename


12.svn diff -r m:n test.php

比較mn兩個版本下的test.php比較差異


13.svn merge -r m:n test.php

合併mn的差異合併到當前文檔,但是一般會差程差異。

14.svn help

svn幫助


上面是svn常見的命令

下面是一些不經常用的命令


15. 版本庫下的文件和目錄列表  svn list path

顯示path目錄下的所有屬於版本庫的文件和目錄

簡寫:svnls


16.創建納入版本控制下的新目錄

svn mkdir: 創建納入版本控制下的新目錄。

用法:

1mk dir PATH…

2mk dir URL…


17.創建版本控制的目錄。

1、每一個以工作副本PATH指定的目錄,都會創建在本地端,並且加入新增調度,以待下一次的提交。

2、每個以URL指定的目錄,都會透過立即提交於倉庫中創建。在這兩個情況下,所有的中間目錄都必須事先存在。

18、恢復本地修改

svn revert: 恢復原始未改變的工作副本文件(恢復大部份的本地修改)revert:

用法:revert PATH…

注意:本子命令不會存取網絡,並且會解除衝突的狀況。但是它不會恢復被刪除的目錄 代碼庫URL變更

19.svn switch (sw):

更新工作副本至不同的URL

用法:1switch URL[PATH]

2switch–relocate FROM TO [PATH...]

注意:1、更新你的工作副本,映射到一個新的URL,其行爲跟“svnupdate”很像,也會將服務器上文件與本地文件合併。這是將工作副本對應到同一倉庫中某個分支或者標記的方法。

2、改寫工作副本的URL元數據,以反映單純的URL上的改變。當倉庫的根URL變動(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用這個命令更新工作副本與倉庫的對應關係。

20.解決衝突

svnresolved: 移除工作副本的目錄或文件的“衝突”狀態。

用法:resolved PATH…

注意:本子命令不會依語法來解決衝突或是移除衝突標記;它只是移除衝突的相關文件,然後讓 PATH可以再次提交。


21、輸出指定文件或URL的內容。

svncat 目標[@版本]…如果指定了版本,將從指定的版本開始查找。

svncat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果 是可以提交的)



雖然svn提供了很好的安全機制,但是在操作的時候要非常小心。如果你一旦刪除了某一個文件,一旦提交上去,svn版本庫上相應的文件也刪除。導致的結果就是你的workmate一旦update之後你workmate的本地副本同樣會刪除,這是一個很危險的事情。

發佈了9 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章