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