Subversion命令匯總


全局選項:

--username ARG

  指定用戶名稱 ARG

--password ARG

  指定密碼 ARG

--no-auth-cache

  不要緩存用戶認證令牌

--non-interactive

  不要交互提示

--trust-server-cert

  不提示的接受未知的證書頒發機構發行的 SSL 服務器證書(只用於選項“--non-interactive”)

--config-dir ARG

  從目錄 ARG 讀取用戶配置文件

--config-option ARG

  以下屬格式設置用戶配置選項:

    FILE:SECTION:OPTION=[VALUE]

  例如:

    servers:global:http-library=serf


svn add

  把文件以及目錄的名稱添加到版本控制系統。他們會在下次提交時被添加到項目倉庫中去。

  svn add path...

選項:

--auto-props

  再添加它們的時候自動設置文件的屬性。

--no-auto-props

  禁用自動設置屬性。


svn blame (ann, annotate, praise)

  顯示文件每行的版本以及作者信息。

  svn blame target...

選項:

--revision, -r rev

  如果指定的rev是單個版本,顯示該版本的作者信息。如果指定的版本范圍rev1:rev2,顯示rev2版本的作者信息,但是只檢查版本到rev1(要使得這命令有意義,rev1必須小於rev2)。


svn cat

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

  svn cat target...

選項:

--revision, -r rev

  輸出版本revtarget的內容。


svn checkout (co)

  從項目倉庫簽出一個工作拷貝。

  svn checkout url... path

  簽出給定URL。如果沒有指定path參數,簽出的本地目錄名使用URL的基礎名稱(base name)。如果指定了path,而且URL參數只有一個,簽出到該目錄。如果指定了path,但是有多個,簽出到path目錄之下的子目錄中,目錄名使用對應URL的基礎名稱。

選項:

--revision, -r rev

  指定要簽出的版本


svn cleanup

  清理工作拷貝,移除鎖,完成未完成的操作,等等。

  svn cleanup path...


svn commit (ci)

  把改動從你的工作拷貝發送到項目倉庫。

  svn commit path...

選項:

--message, -m msg

  使用msg作為提交日志消息。

--file, -F file

  使用file的內容作為提交日志的消息。

--no-unlock

  不要在提交的時候釋放鎖。


svn copy (cp)

  在工作拷貝或者項目倉庫中制造包括歷史在內的復本。

  svn copy src... dest

  當復制多個源時,它們作為dest的子節點增加, dest必須是目錄。srcdest可以是工作副本路徑(WC)或版本庫地址(URL):

src dest 效果
WC WC 拷貝並添加(包括歷史)
WC URL 立即提交WC的拷貝到URL
URL WC 簽出URLWC,添加
URL URL 完全服務器端拷貝,用於制作分支和標簽等

選項:

--revision, -r rev

  指定要拷貝的src的版本。只在src是版本庫地址URL時才有意義。


svn delete (del, remove, rm)

  從版本控制系統中移除文件或者目錄。

  svn delete target...

  從項目倉庫刪除文件或者目錄。如果target是工作拷貝中的文件或者目錄,它被工作拷貝中移除並且在下次提交時刪除掉。如果target是項目倉庫URL,則會通過一次立即的提交從項目倉庫中刪除。

選項:

--message, -m msg

  使用msg作為提交日志信息。

--file, -F file

  使用file的內容作為提交日志信息。


svn diff (di)

  顯示兩個路徑之間的差異。

  1. svn diff -r rev1:rev2 target...

  2. svn diff oldurl newurl

  在第一種格式中,顯示target在兩個版本rev1rev2之間的改動。target可以是工作拷貝路徑或者URL

  在第二種格式中,顯示最新版本的oldurlnewurl之間的差異。

選項:

--old arg

  使用arg作為老一些的目標

--new arg

  使用arg作為新一些的目標


svn export

  創建目錄樹的一個無版本記錄的拷貝。

  svn export URL path

  從項目倉庫的指定URL到處一個干凈的目錄樹到path中,如果指定了rev參數,到處rev版本,否則到處最新版本。如果path被省略了,URL的基本名稱將被作為本地目錄的名稱。

選項:

--revision, -r rev

  指定到處項目倉庫的版本。

--native-eol style

  對於有本地svn:eol-style屬性的文件,使用不同的行結尾標識符而不是系統標准的文件行結尾標識符。style必須是LFCR或者CRLF之中的一個。


svn import

  提交一個無版本的文件或者目錄到項目倉庫中。

  svn import path URL

  遞歸提交path的一個拷貝到URL。如果path被省略了,將默認提交當前目錄。父目錄會根據需要在項目倉庫中創建。

選項:

--auto-props

  在導入過程中自動設置屬性給文件。

--no-auto-props

  對於導入的文件禁用自動設置屬性。


svn info

  顯示文件或者目錄的信息。

  svn info path...

  打印每個path的信息。

選項:

--recursive, -r

  遞歸顯示目錄的信息


svn list (ls)

  列出項目倉庫中的目錄條目。

  svn list target...

  如果是在項目倉庫中,列出每個target文件以及每個target目錄的內容。如果target是在工作拷貝中,會使用對應的項目倉庫URL

選項:

--verbose, -v

  顯示額外信息。


svn lock

  鎖住文件讓其他用戶不能提交改動。

  svn lock target

  與項目倉庫服務器聯系,獲得對一個或者多個工作拷貝文件的鎖。一旦鎖住了,其他用戶就不能提交改動該文件,除非鎖被釋放或者被破壞。

選項:

--message, -m msg

  使用msg作為鎖消息信息。

--force

  強制從其他用戶或者工作拷貝獲得鎖。


svn log

  顯示一些版本或者文件的日志信息。

  svn log target

  打印本地路徑或者項目倉庫URL的日志信息。對於每個本地路徑,默認的版本范圍是BASE:1,對於URL默認的版本范圍是HEAD:1

選項:

--revision, -r rev

  如果rev是單個版本,只顯示該版本的日志條目。如果rev是版本范圍,顯示這些版本的日志條目,

--verbose, -v

  打印每條日志消息所影響的路徑。

--stop-on-copy

  在遍歷歷史的時候不要穿越拷貝(對於查找分支的起點很有用)。


svn merge

  把兩個來源的差異應用給工作拷貝路徑。

  1. svn merge sourceURL1@rev1 sourceURL2@rev2 WCPath

  2. svn merge sourceWCPath1@rev1 sourceWCPath2@rev2 WCPath

  3. svn merge -r rev1:rev2 SOURCE WCPath

  第一個格式中,源URL被指定了版本rev1rev2.這是兩個要被比較的源。如果沒有指明版本,默認使用最新版本。

  在第二個格式中,對應工作拷貝的URL被指定作為要比較源。版本號必須指定。

  在第三種格式中,SOURCE可以是URL或者工作拷貝中條目,使用工作拷貝的話會使用對應的URL代替。這個URL會被比較它的rev1rev2版本。

  WCPath是接受這些改動的工作拷貝路徑。如果WCPath被省略,假定就是當前目錄,除非來源尤一個唯一的base name匹配了當前目錄的文件,如果是這樣的話改動就會應用於那個文件。

選項:

--diff3-cmd cmd

  使用cmd作為合並命令。

--ignore-ancestry

  在計算合並時忽略過去歷史。


svn mkdir

  創建版本控制下的新目錄。

  1. svn mkdir PATH...

  2. svn mkdir URL...

  在第一種情況下,每個以工作副本PATH指定的目錄,都會在本地創建,並且加入增加調度,直到下次提交。

  在第二種情況中,每個以URL指定的目錄,都會通過立即提交在版本庫中創建。

  在這兩種情況下,所有的中間目錄都必須事先存在,除非使用--parents選項。


svn move (mv, rename, ren)

  移動或者重命名工作拷貝或者項目倉庫中的文件或者目錄。

  svn move src... dest

  當移動多個源時,它們作為dest的子節點添加,dest必須是目錄。本命令等同於先“copy”,然后“delete”srcdest可以是工作拷貝路徑或者項目倉庫URL。在工作拷貝中,移動被執行並且新的位置於下次提交時添加。對於項目倉庫URL,一個完全服務器端的重名名操作被立即執行。

選項:

--revision, -r rev

  使用版本rev作為源來執行這次移動。


svn propdel (pdel, pd)

  刪除文件或者目錄的屬性。

  svn propdel propname path...

  在本地工作拷貝中刪除pathpropname屬性


svn propedit (pedit, pe)

  編輯文件或者目錄的屬性。

  svn propedit propname path..

  打開一個外部的編輯器在本地工作拷貝中編輯pathpropname屬性。


svn propget (pget, pg)

  打印文件或者目錄的屬性。

  svn propget propname path...

  打印每個pathpropname的內容。本子命令默認會在屬性內容加上額外的換行符,得到美觀的輸出。另外,當同時處理多個路徑時,每一個屬性內容會在開頭增加上它所對應的路徑。

選項:

--strict

  禁用額外的換行和其他的美化措施。


svn proplist (plist, pl)

  列出文件或者路徑的所有屬性。

  svn proplist path...

  列出path的所有屬性。

選項:

--verbose, -v

  打印額外的信息。

--recursive, -R

  遞歸下降。

--revision, -r rev

  列出path在版本rev定義的屬性。


svn propset (pset, ps)

  設置文件或者路徑的屬性。

  svn propset propname propval path...

  對於path,設置值propvalpropname屬性。如果propval沒有指定,你必須使用-F選項來指定一個文件,其內容會作為屬性的值設置給屬性。

選項:

--file, -F file

  讀取file的內容,使用它作為屬性值。

--recursive, -R

  遞歸下降。

--encoding enc

  把值作為使用enc編碼的字符集。


svn resolve

  解決工作副本中目錄或文件的沖突。

  resolve --accept=ARG [path...]

  注意:當前需要選項—accept

選項:

--targets ARG

  傳遞文件ARG內容為附件參數

--recursive, -R

  遞歸下降

--accept ARG

  指定自動解決沖突動作的源(base, working, mine-conflict, theirs-conflict, mine-full, theirs-full


svn resolved

  移除工作拷貝文件或者目錄的沖突狀態。

  svn resolved path...

  標記之前包含沖突的文件為“已解決”。注意這個命令不會從語意上解決沖突或者移除沖突標記;它只是移除沖突相關的文件並且允許path被再次提交。它已經過時,被 “svn resolve --accept working”取代。

選項:

--recursive, -R

  遞歸下降。


svn revert

  恢復工作拷貝中的文件(撤銷最新的本地修改)。

  svn revert path...

  這個命令不許要網絡連接並且撤銷你對path所做的一切改動。它不恢復被刪除的目錄。它會它解除任何沖突的狀態。

選項:

--recursive, -R

  遞歸下降


svn status (stat, st)

  打印工作拷貝中文件和目錄的狀態。

  svn status path...

  沒有任何參數,只是打印本地修改過得條目(無須訪問網絡)。

  加-u參數,添加工作版本和服務器過期信息。

  加-v參數,打印每個條目完整的版本信息。

  輸出中的前七列的寬度均為一個字符。

  第一列:指出條目是被添加、刪除還是修改過了

    “ ” 無修改

    A 增加

    C 沖突

    D 刪除

    I 忽略

    M 改變

    R 替換

    X 未納入版本控制的目錄,被外部引用的目錄所創建

    ? 未納入版本控制

    ! 該項目已遺失(被非 svn 命令刪除)或不完整

    ~ 版本控制下的項目與其它類型的項目重名

  第二列: 顯示目錄或文件的屬性狀態

    “ ” 無修改

    C 沖突

    M 改變

  第三列:工作拷貝目錄是否被鎖定

    “ ” 未鎖定

    L 鎖定

  第四列:已調度的提交是否包含副本歷史

    “ ” 沒有歷史

    + 包含歷史

  第五列:該條目相對其父目錄是否已切換,或者是外部引用的文件

    “ ” 正常

    S 已切換

    X 被外部引用創建的文件

  第六列:版本庫鎖定標記

    (沒有-u

    “ “ 沒有鎖定標記

    K 存在鎖定標記

    (使用-u

    “ ” 沒有在版本庫中鎖定,沒有鎖定標記

    K 在版本庫中被鎖定,存在鎖定標記

    O 在版本庫中被鎖定,鎖定標記在一些其他工作副本中

    T 在版本庫中被鎖定,存在鎖定標記但已被竊取

    B 沒有在版本庫中被鎖定,存在鎖定標記但已被破壞

  第七列:項目沖突標記

    “ ” 正常

    C 樹沖突

    如果項目包含於樹沖突之中,在項目狀態行后會附加行,說明沖突的種類。

  是否過期的信息出現的位置是第九欄(-u 並用時)

    “ “ 工作拷貝是最新版的

    * 服務器上有更新版本

  剩余的欄位皆為變動寬度,並以空白隔開:

    工作版本號(使用 -u -v 時;被復制時顯示“-”)

    最后提交的版本與最后提交的作者(使用 -v )

    工作副本路徑總是最后一欄,所以它可以包含空白字符。

選項:

--show-update, -u

  聯系服務器顯示更新信息。

--verbose, -v

  打印額外的信息

--non-recursive, -N

  只操作單個目錄

--no-ignore

  忽視默認設置和svn:ignore屬性設置的忽略項


svn switch (sw)

  把工作拷貝轉向其他URL

  svn switch URL path

  更新工作拷貝讓其使用項目倉庫的新URL。這個行為類似svn update,而且是一種把工作拷貝轉向到同一項目倉庫中的分支或者標簽的辦法。

選項:

--revision, -r rev

  轉向到版本rev

--non-recursive, -N

  只操作單個目錄

--diff3-cmd cmd

  使用cmd作為合並命令


svn unlock

  解開工作拷貝文件或者項目倉庫URL的鎖。

  svn unlock target...

  釋放當前對target的鎖,以讓其他用戶可以提交改動。

選項:

--force

  破壞現有對targe的鎖,甚至它不是被當前工作拷貝所擁有的。


svn update (up)

  把改動從項目版本庫帶到工作拷貝來。

  svn update path...

  如果沒有指定版本,把工作拷貝更新為新最新版本。否則把宮組拷貝同步為-r選項指定的版本。

  對於每個更新過的條目會有單獨一行,開頭有一個字符表示做過的動作。這些字符有一下含義:

  A 添加

  D 刪除

  U 更新

  C 沖突

  M 合並

  第一列的字符表示了對實際文件的更新,對於文件屬性的更新被列到第二列。

選項:

--revision, -r rev

  更新到版本rev

--non-recrusive, -N

  只操作單個目錄

--diff3-cmd cmd

  使用cmd作為合並命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM