經驗總結:Subversion 使用命令行訪問項目源文件 上篇
之前已經學習了Linux下Subversion命令,本文再來回顧一下Subversion命令問題,如果掌握了Subversion命令你就可以很容易的對Subversion進行相關操作了,希望大家共同進步。
命令行Subversion入門
如果您參與的項目正在使用Subversion進行版本控制,您將需要使用Subversion訪問和更改項目源文件。您可以點擊項目的左側導航窗格上的“Subversion”鏈接,在線瀏覽源代碼以查看該項目的目錄結構和文件。“Subversion”頁面顯示三個子目錄:branches/、tags/、trunk/和一個自述文件。自述文件可以使您對Subversion存儲庫有一個整體了解。您可以點擊“訪問選項”,查看Subversion客戶端安裝說明。您的本地計算機上必須安裝有Subversion客戶端。
獲取項目的本地工作副本:svncheckout
若要獲取***源文件的“工作副本”,您必須首先簽出這些源文件,這一過程會將文件從存儲庫復制到您的系統中。在您的外殼程序或終端客戶端,請鍵入:svncheckouthttps://(項目名稱).(域)/svn/(項目名稱)/(DIR)(項目名稱)--username[在此處輸入用戶名],當系統提示您時輸入您的用戶密碼。此密碼應與您在本站點中的用戶帳號的密碼相同。不指定目錄將簽出整個項目源代碼。您可能希望簽出“trunk/”目錄,因為此目錄具有工作“www/”文件夾。
Subversion命令轉換:--revision(-r)REV,--quiet(-q),--non-recursive(-N),--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR
請參見基本工作周期、初始簽出、工作副本。注意:如果站點未啟用SSL(安全套接字層),則在執行Subversion操作時,請使用http而不是https。例如,若要從項目的存儲庫中簽出***的源代碼,請使用以下命令:svncheckouthttps://(項目名稱).(域)/svn/(項目名稱)/(DIR)(項目名稱)--username[在此處輸入用戶名]。
處理Subversion存儲庫中的文件
從項目存儲庫中簽出本地副本后,您可以在本地計算機上編輯現有文件、創建新文件和目錄、以及刪除文件。在您將所做的任何更改提交回Subversion存儲庫之前,這些更改只對項目文件的本地副本起作用。
將工作副本中的文件/目錄添加到存儲庫中:svnadd
在您***次在工作目錄中創建并編輯新文件后,可以將此文件添加到存儲庫中,或添加一個目錄,目錄中有無內容均可。svnaddFILENAME/DIR。
這樣就會在您的工作副本中添加文件/目錄,并安排它們以添加到存儲庫中。您下次提交時,會上載這些文件/目錄,并將它們添加到存儲庫中。如果您了添加內容,但在提交前又改變了主意,則可以使用svnrevert取消添加內容的安排。
Subversion命令轉換:--targetsFILENAME,--non-recursive(-N),--quiet(-q),--config-dirarg,--auto-props,--no-auto-props請參見添加文件/目錄示例。查看帶有修訂和作者信息的特定文件的內容:svnblame若要在線查看指定文件的作者和修訂信息,請鍵入:svnblameFILENAME,每行文本的開始處都以上次更改該行的作者(用戶名)和修訂版本號作為批注。
轉換:--revision(-r)REV,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR查看特定文件的內容:svncat,有時,與存儲庫相比較,您的工作副本可能已過時;或者您可能已修改了本地工作副本。在這些情況下,在提交更改或決定編輯您的工作副本之前,您會希望查看指定文件的內容差異。運行svncatFILENAME將自動從存儲庫中取出HEAD修訂版本。這條子命令主要用于檢索具有較舊修訂版本號的文件,并將其顯示在屏幕上。通過在此站點上瀏覽項目源代碼,也可以執行相同的操作。
轉換:--revision(-r)REV,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR
清理工作副本:svncleanup,有時可能會出現“工作副本已鎖定”錯誤。若要刪除鎖定,并遞歸清理工作副本,請使用svnupdate。
轉換:--diff3-cmdCMD,--config-dirDIR請參見svncleanup。復制工作副本或存儲庫中的文件或目錄:svncopy在項目中,您可能需要用到過去的舊文檔。例如,您可能想要使用一個已存在的HTML文件,使用其代碼作為參考以在創建新內容時保持產品外觀和感覺。創建文件時,您無需從頭開始,只需使用svncopy復制此文件,然后將其另存為其它名稱并更改其內容。您可以從存儲庫將文件復制為本地工作副本,也可以將本地工作副本復制回存儲庫文件。您還可以在本地工作副本內部復制文件。Subversion不支持在存儲庫之間進行復制。可使用svncopySRCDST完成此操作。
轉換:--message(-m)TEXT,--file(-F)FILE,--revision(-r)REV,--quiet(-q),--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--force-log,--editor-cmdEDITOR,--encodingENC,--config-dirDIR
請參見svncopy。
本文介紹Subversion命令沒有完畢,請繼續關注下節介紹。
【編輯推薦】
- 學習筆記:剖析Collabnet Subversion集成
- 深入剖析:Subversion1.5.5和Apache2.2.9在Windows下的***結合
- Subversion和TortoiseSVN如何在Windows下進行構建SVN版本控制
- 揭露MyEclipse Subversion環境建立的內幕
- 經驗總結:如何讓Visual Studio 2008支持Subversion


















