登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。

6.SVN命令一覽

藉由先瀏覽過一次SVN命令的功能,以便在需要時能夠回想,再回頭翻閱書籍。
以下就開始介紹:

使用命令列的svn --help指令,便會列出所有的svn子命令。
> svn --help
Available subcommands:
add
blame (praise, annotate, ann)
cat
checkout (co)
cleanup
commit (ci)
copy (cp)
delete (del, remove, rm)
diff (di)
export
help (?, h)
import
info
list (ls)
lock
log
merge
mkdir
move (mv, rename, ren)
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
resolved
revert
status (stat, st)
switch (sw)
unlock
update (up)

大部份的子命令都還有其縮寫!
如:commit是ci
可再使用 svn [子命令] --help 以查看子命令的說明!
例如:
svn add --help
svn commit --help

再來開始敍述各個命令:

  • svn add — 增加檔案、目錄或符號鏈結(symbolic link)。
  • svn blame — 顯示指定檔案或URL的作者和修訂版本資訊。
  • svn cat — 輸出指定檔案或 URL 的內容。
  • svn checkout — 從檔案庫(Repository)取出一個工作複本(working copy)。
  • svn cleanup — 遞迴式地清理工作複本。
  • 遞迴式地清理工作複本,移除未完成動作的鎖定,並恢復未完成的操作。如果你遇到了 「working copy locked」 (工作複本已鎖定) 的錯誤,執行這個命令以移除遺留下來的鎖定,讓工作複本再回覆到可用的狀態。
  • svn commit — 從工作複本傳送更動至檔案庫。
  • svn copy — 在工作複本或檔案庫中複製檔案或目錄。
    URL -> URL     完成伺服器端的複製. 這通常是用來進行分支與標記.
  • svn delete — 從工作複本或檔案庫刪除一個項目(刪除檔案或目錄)。
  • svn diff — 比較兩個路徑之間的差異(可以是比較兩個檔案或是兩個目錄)。
  • svn export — 匯出一個乾淨的目錄樹(指不包涵版本控制的系統檔案)。
  • svn help — 幫助!
  • svn import — 提交還沒有版本的檔案或目錄樹到檔案庫。
  • svn info — 顯示關於本地或遠端項目的資訊(指定的工作複本或URL的資訊)
  • svn list — 列出檔案庫中的目錄項目。
  • 列出每個 TARGET 檔案與每個檔案庫裡的 TARGET 目錄. 如果 TARGET 是工作複本的路徑, 那麼相對應的檔案庫 URL 就會被拿來使用.
  • svn lock — 鎖定檔案庫的工作複本路徑或URL,所以沒有其他用戶可以提交這些檔案的修改。
  • svn log — 顯示送交(commit)紀錄訊息(log)。
  • svn merge — 將兩個來源之間的差異套用到工作複本路徑。
  • svn mkdir — 建立受版本控制的目錄。
  • svn move — 移動檔案或目錄。
  • svn propdel — 刪除項目中的屬性。
  • svn propedit — 修改一個或多個版本控制之下檔案的屬性。
  • svn propget — 印出某個屬性的值。
  • svn proplist — 列出所有的屬性。
  • svn propset — 設置文件、目錄或者修訂版本的屬性(PROPNAME)為屬性值(PROPVAL)。
  • $ svn propset owner sally foo.c
    property 'owner' set on 'foo.c'
  • svn resolved — 移除工作複本檔案或目錄的「衝突」狀態。
  • svn revert — 復原本地編輯(如檔案修改錯誤時可以復原)。
  • svn status — 列出工作複本中檔案和目錄的狀態(如被修改過(M)、未加入檔案庫()、新增但尚未提交(A)。
  • svn switch — 把工作複本更新到別的URL。
  • svn unlock — 解鎖工作複本路徑或URL的鎖定。
  • svn update — 更新你的工作複本(當檔案庫有更動時)。

參考資料

  • Version Control with Subversion, 一般被稱為"Subversion book" (https://svnbook.red-bean.com/)
  • 部分文字引用自 Plasmaball 所翻譯的 Subversion Book, Traditional Chinese Edition (https://svn.stu.edu.tw/svnbook/)

相關資源

  • Subversion (https://subversion.tigris.org/)
  • Ximbiot - CVS Wiki (https://ximbiot.com/cvs/wiki/)
  • Open Source Development with CVS, 3rd Edition (https://cvsbook.red-bean.com/)
  • Wikipedia: Subversion (https://en.wikipedia.org/wiki/Subversion_%28software%29)
  • Wikipedia: Concurrent Versions System (https://en.wikipedia.org/wiki/Concurrent_Versions_System)
  • Wikipedia: Version control system (https://en.wikipedia.org/wiki/Version_control_system)

 





分類: Subversion