經(jīng)驗總結(jié):Subversion使用命令行訪問項目源文件 中篇
Subversion命令本文繼續(xù)上節(jié)文章介紹Subversion命令問題,掌握了Subversion命令你就可以對Subversion進行管理控制了,希望對大家學(xué)習(xí)Subversion有所幫助。
從本地工作副本中刪除文件或目錄:svndelete
您可能希望從本地工作副本中刪除不需要的文件。使用svndeleteFILENAME可安排刪除文件。僅當(dāng)您提交時,才會在存儲庫中將該文件實際刪除。
轉(zhuǎn)換:--force,--force-log,--message(-m)TEXT,--file(-F)FILE,--quiet(-q),--targetsFILENAME,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--editor-cmdEDITOR,--encodingENC,--config-dirDIR,查看文件之間的差異:svndiff,可以使用svndiff顯示工作副本中的指定文件相對于存儲庫中相應(yīng)文件所做的本地修改。在命令提示符處,請鍵入:svndiff(文件的路徑)(項目存儲庫的URL),例如,若要將本地修改后的文件“index.html”與項目存儲庫中的相應(yīng)文件進行比較,請鍵入:svndiff$SRC/...../index.htmlhttps://(項目名稱).(域)/svn/(項目名稱)/trunk(項目名稱)--username[在此處輸入用戶名]除此之外,您也可以轉(zhuǎn)到該文件所屬的目錄,并鍵入:svndiff(FILENAME)該命令將顯示差異,并且?guī)в行抻啺姹咎枴?/P>
轉(zhuǎn)換:--revision(-r)REV,--oldOLD-TARGET,--newNEW-TARGET,--extensions(-x)"ARGS",--non-recursive(-N),--diff-cmdCMD,--notice-ancestry,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--no-diff-deleted,--config-dirDIR
請參見檢查歷史、svndiff。
在本地計算機上導(dǎo)出空目錄樹:svnexport
在您的本地計算機上,可以從項目存儲庫或本地工作副本內(nèi)部提取一個無版本的副本,也稱為空目錄樹。若要從存儲庫中獲得較舊修訂版本的空目錄,請鍵入:svnexport[-rREV][PATH]
該命令將從URL指定的存儲庫中的修訂版本REV位置(如果指定,否則從HEAD位置)將空目錄樹導(dǎo)出到PATH。如省略PATH,則該URL的最后一部分將用作本地目錄名稱。除此之外,您也可以在本地計算機內(nèi)部,從一個工作副本(由PATH1指定)向另一工作副本(由PATH2指定)導(dǎo)出空目錄樹。這將保留所有的本地更改,但不會復(fù)制版本控制中的文件。若要執(zhí)行此操作,請鍵入:svnexportPATH1PATH2
Subversion命令轉(zhuǎn)換:--revision(-r)REV,--quiet(-q),--force,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR,獲取有關(guān)Subversion的幫助:svnhelp Subversion可以在命令行界面為您提供幫助。若要獲得有關(guān)特定子命令的幫助,請鍵入:svnhelp[SUBCOMMAND...]
轉(zhuǎn)換:--version,--quiet(-q),將您的更改提供給SVN存儲庫,對文件和/或目錄進行本地更改后,您必須向SVN存儲庫提交這些更改。提交您的更改:svncommit,若要向共享存儲庫提交您的更改,請鍵入:svncommit-m"請在此處鍵入您的理由",如果您不包括對該文件更改的描述,系統(tǒng)將提示您調(diào)用文件編輯器添加描述,然后svn才能完成提交操作;否則將會出現(xiàn)“提交失敗”錯誤。所有的提交都會被自動記錄,并發(fā)布到項目的提交討論中。
轉(zhuǎn)換:--message(-m)TEXT,--file(-F)FILE,--quiet(-q),--non-recursive(-N),--targetsFILENAME,--force-log,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--encodingENC,--config-dirDIR,請參見提交您的更改、editor-cmd。
將無版本的文件或樹導(dǎo)入到項目存儲庫中:svnimport
您可以使用svnimport將無版本的文件或樹遞歸提交到項目存儲庫中。將根據(jù)需要在存儲庫中創(chuàng)建父目錄。使用下面的命令可以從PATH向URL遞歸提交副本。如果省略PATH,將認為其為“.”。svnimport[PATH]URL,示例:若要在您的本地計算機上創(chuàng)建帶有一個文件的無版本目錄(D)。請點擊項目左側(cè)導(dǎo)航窗格中的“Subversion”鏈接,找到Subversion頁面。請注意,“瀏覽源代碼”下未列出NEWDIR。若要將D導(dǎo)入項目存儲庫,請鍵入:svnimport-m"請在此處鍵入您的信息"Dhttp://(項目名稱).(域)/svn/(項目名稱)/NEWDIR
刷新該頁面。請注意,此時“瀏覽源代碼”下列出了D。點擊D查看該文件。
轉(zhuǎn)換:--message(-m)TEXT,--file(-F)FILE,--quiet(-q),--non-recursive(-N),--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--force-log,--editor-cmdEDITOR,--encodingENC,--config-dirDIR,--auto-props,--no-auto-props
打印有關(guān)工作副本中路徑的信息:svninfo有時,您將需要有關(guān)工作副本中文件的具體信息,以執(zhí)行某些子命令。鍵入svninfo,將打印出詳盡且有用的信息,這些信息涉及工作副本中的工作副本路徑中的項,其中包括:路徑、名稱、URL、修訂版本、節(jié)點類型、上次更改、作者、上次更改修訂版本、上次更改日期、上次更新的文本、上次更新的屬性以及校驗和。
Subversion命令轉(zhuǎn)換:--targetsFILENAME,--recursive(-R),--config-dirDIR
查看存儲庫中的目錄項列表:svnlist在開始處理項目或取出“工作副本”之前,您可能希望查看項目存儲庫中的內(nèi)容(即目錄和文件),或查看本地工作副本中的目錄項。在命令提示符處鍵入svnlist[TARGET...],也可以查看這些內(nèi)容。除此之外,您也可以找到項目中的“軟件配置管理”頁,查看項目存儲庫。
轉(zhuǎn)換:--revision(-r)REV,--verbose(-v),--recursive(-R),--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR
查看提交日志信息:svnlog如果要查看“工作副本”或存儲庫中文件/目錄的各個文件/目錄歷史,以跟蹤修訂信息,請鍵入:svnlog[PATH]
該命令會顯示出文件/目錄的修訂信息,從最近所做的修訂版本開始顯示提交信息和作者姓名等信息。除此之外,您也可以使用該站點,查看項目存儲庫中各個文件的提交日志信息。請點擊項目左側(cè)導(dǎo)航窗格中的“Subversion”鏈接。將出現(xiàn)Subversion頁。搜索“瀏覽源代碼”的目錄中的文件,然后點擊文件名。這時將會顯示一個提交日志信息頁面。
轉(zhuǎn)換:--revision(-r)REV,--quiet(-q),--verbose(-v),--targetsFILENAME,--stop-on-copy,--incremental,--xml,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR,請參見svnlog。
合并更改:svnmerge
您可以運行svnmerge命令,以指示Subversion將存儲庫中最新版本的文件合并到您的工作副本中。
Subversion命令轉(zhuǎn)換:--revision(-r)REV,--non-recursive(-N),--quiet(-q),--force,--dry-run,--diff3-cmdCMD,--ignore-ancestry,--usernameUSER,--passwordPASS,--no-auth-cache,--non-interactive,--config-dirDIR,請參見svnmerge、解決沖突(合并其他人的更改)、分支和合并:常見合并使用案例、合并最佳實踐。
請關(guān)注Subversion命令下篇報道。
【編輯推薦】
- 學(xué)習(xí)筆記:剖析Collabnet Subversion集成
- 深入剖析:Subversion1.5.5和Apache2.2.9在Windows下的完美結(jié)合
- Subversion和TortoiseSVN如何在Windows下進行構(gòu)建SVN版本控制
- 揭露MyEclipse Subversion環(huán)境建立的內(nèi)幕
- 經(jīng)驗總結(jié):如何讓Visual Studio 2008支持Subversion