SVN命令有哪些
SVN命令有哪些
向大家描述一下版本控制工具SVN使用方法,在學(xué)習(xí)SVN過(guò)程中這是必須要掌握的知識(shí),在這里學(xué)習(xí)啦小編和大家分享一下,歡迎大家和我一起學(xué)習(xí)SVN使用方法。
SVN命令行
SVN幫助:svnhelp
(1)svn import [PATH] URL
將未納入版本控制的文件或目錄樹(shù)提交到版本庫(kù)。遞歸地提交PATH的副本至URL。如果省略PATH,則默認(rèn)為“.”
(2)svn checkout URL [@REV]...[PATH]
從版本庫(kù)簽出工作副本。如果指定REV,那么它確定了從URL首先查找的版本。如果省略路徑參數(shù),則URL最末尾的目錄名作為目標(biāo)目錄名。如果指定多個(gè)URL,則依次將其簽出到PATH的子目錄中,子目錄名就是URL最末尾的目錄名。
(3)svn add PATH
把文件和目錄納入版本控制,通過(guò)調(diào)度加到版本庫(kù)。它們會(huì)在下一次提交時(shí)加入。
(4)svn commit [PATH...]
commit(ci):把工作副本的修改提交到版本庫(kù)。常用參數(shù):-m[--message]ARG:指定日志信息ARG
(5)svn update [PATH...]
將版本庫(kù)的修改合并到工作副本中。如果沒(méi)有指定版本,則將工作副本更新到HEAD版本。否則同步到-r選項(xiàng)所指定的版本。
(6)svn delete PATH -m "deletetestfle"
或者直接svndeletetest.php然后再svnci-m'deletetestfile‘,推薦使用這種簡(jiǎn)寫(xiě):svn(del,remove,rm)
用法:1、deletePATH...
2、delete URL...
1、每個(gè)PATH指定的項(xiàng)目會(huì)被調(diào)度到下次提交時(shí)從版本庫(kù)刪除。除非給出--keep-local參數(shù),工作副本中沒(méi)有提交的文件和目錄會(huì)被立即刪除。如果PATH是未版本控制或者已修改的項(xiàng)目,或者包含這些項(xiàng)目,那么僅當(dāng)給出--force參數(shù)時(shí)這些項(xiàng)目才會(huì)被刪除。
2、每個(gè)URL指定的項(xiàng)目會(huì)通過(guò)立即提交從版本庫(kù)中刪除。
(7)svn mkdir:創(chuàng)建納入版本控制的新目錄。
用法:1、mkdirPATH...
2、mkdir URL...
1、每個(gè)以工作副本PATH指定的目錄,都會(huì)在本地創(chuàng)建,并且加入增加調(diào)度,直到下次提交。
2、每個(gè)以URL指定的目錄,都會(huì)通過(guò)立即提交在版本庫(kù)中創(chuàng)建。
(8)svn revert PATH...:將工作副本文件恢復(fù)到原始版本(恢復(fù)大部份的本地修改)。注意:本子命令不會(huì)訪(fǎng)問(wèn)網(wǎng)絡(luò),它解除任何沖突的狀態(tài)。但是,它不恢復(fù)被刪除的目錄。
(9)版本控制SVN使用其他命令還有:
摘自:http://blog.chinaunix.net/u1/38994/showart_487961.html
加鎖/解鎖svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "locktestfile" test.php
svnunlockPATH
查看文件或者目錄狀態(tài)
1)svn status path(目錄下的文件和子目錄的狀態(tài),正常狀態(tài)不顯示)【?:不在svn的控制中;M:內(nèi)容被修改;C:發(fā)生沖突;A:預(yù)定加入到版本庫(kù);K:被鎖定】
2)svn status -v path(顯示文件和子目錄狀態(tài))
第一列保持相同,第二列顯示工作版本號(hào),第三和第四列顯示最后一次修改的版本號(hào)和修改人。
注:svn status、svn diff和svn revert這三條命令在沒(méi)有網(wǎng)絡(luò)的情況下也可以執(zhí)行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡(jiǎn)寫(xiě):svn st
查看日志svn log path
例如:svn log test.php顯示這個(gè)文件的所有修改記錄,及其版本號(hào)的變化
查看文件詳細(xì)信息svn info path
例如:svn info test.php
比較差異svn diff path(將修改的文件與基礎(chǔ)版本比較)
例如:svn diff test.php
svn diff -r m:n path(對(duì)版本m和版本n比較差異)
例如:svn diff -r 200:201 test.php
簡(jiǎn)寫(xiě):svn di
將兩個(gè)版本之間的差異合并到當(dāng)前文件svn merge -r m:n path
例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合并到當(dāng)前文件,但是一般都會(huì)產(chǎn)生沖突,需要處理一下)版本庫(kù)下的文件和目錄列表svn list path
顯示path目錄下的所有屬于版本庫(kù)的文件和目錄
簡(jiǎn)寫(xiě):svn ls
版本控制SVN使用中解決沖突svn resolved:移除工作副本的目錄或文件的“沖突”狀態(tài)。
用法:resolved PATH...
注意:本子命令不會(huì)依語(yǔ)法來(lái)解決沖突或是移除沖突標(biāo)記;它只是移除沖突的相關(guān)文件,然后讓PATH可以再次提交。
輸出指定文件或URL的內(nèi)容。svn cat目標(biāo)[@版本]...如果指定了版本,將從指定的版本開(kāi)始查找。svn cat-rPREVfilename>filename(PREV是上一版本,也可以寫(xiě)具體版本號(hào),這樣輸出結(jié)果是可以提交的)
代碼庫(kù)URL變更svn switch(sw):更新工作副本至不同的URL。
用法:1、switch URL[PATH]
2、switch--relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一個(gè)新的URL,其行為跟“svn update”很像,也會(huì)將服務(wù)器上文件與本地文件合并。這是將工作副本對(duì)應(yīng)到同一倉(cāng)庫(kù)中某個(gè)分支或者標(biāo)記的方法。
2、改寫(xiě)工作副本的URL元數(shù)據(jù),以反映單純的URL上的改變。當(dāng)倉(cāng)庫(kù)的根URL變動(dòng)
(比如方案名或是主機(jī)名稱(chēng)變動(dòng)),但是工作副本仍舊對(duì)映到同一倉(cāng)庫(kù)的同一目錄時(shí)使用這個(gè)命令更新工作副本與倉(cāng)庫(kù)的對(duì)應(yīng)關(guān)系。本節(jié)關(guān)于版本控制SVN使用介紹完畢。