名師指引 SVN操作流程
本節(jié)簡單向大家描述一下SVN操作流程,在學(xué)習(xí)SVN的過程中SVN操作流程是必須要掌握的,在這大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
在沒有講解SVN操作流程之前向大家介紹幾家免費(fèi)提供svn源代碼管理的站點(diǎn)。
國內(nèi):http://www.coollittlethings.com/
只需要注冊即可使用,速度很快,使用http進(jìn)行傳輸,無web管理功能。
國外:http://code.google.com/hosting/
google提供的,速度比較快,申請即可使用,使用https進(jìn)行傳輸,安全性,可靠性高,帶有web管理功能。http://developer.novell.com/wiki/index.php/Project_Hosting
novell公司提供,申請后需要審核,速度較快,使用https進(jìn)行傳輸,安全性,可靠性高,帶有web管理功能。推薦使用google提供的。
完成了svn服務(wù)器的安裝配置,怎么使用svn呢?在Windows下,最常用的svn客戶端是TortoiseSVN,有時(shí)簡稱為TSVN。
開發(fā)人員使用svn進(jìn)行開發(fā)的一般流程是:
checkout(檢出)項(xiàng)目
——>更新文件或目錄——>update
——>修改文件或目錄——commit(提交)變更
——>增加文件或目錄——>add(增加)文件或目錄——>commit(提交)
——>刪除文件或目錄——>commit(提交)上一級目錄
其中,checkout只進(jìn)行一次,update、commit、add操作根據(jù)需要會經(jīng)常使用。下面看一下SVN操作流程中有關(guān)這些操作的介紹。
checkout(檢出)操作
在資源管理器中,鼠標(biāo)右鍵點(diǎn)擊任意位置,在菜單中選擇”SVNCheckout”。
出現(xiàn)對話框,在”URLofrepository:”中輸入svn串,格式是”協(xié)議://ip:port/版本庫/項(xiàng)目/目錄“。根據(jù)實(shí)際情況輸入,例如http://code.google.com/p/google-web-toolkit/source。如有疑問,向svn服務(wù)器管理員詢問。在“checkoutdirectory”中輸入本地存放代碼的目錄,請選擇空目錄或新目錄。svn會清空該目錄下的一切文件。輸入完畢,點(diǎn)擊”ok”按鈕。
如果需要,會提示輸入用戶名和密碼。選上”Saveauthentication”后,以后可以自動登錄,不必重輸密碼。checkout…有時(shí)候時(shí)間會很長。結(jié)束,點(diǎn)”ok”。
update(更新)操作
在資源管理器中,選擇本地目錄或文件,鼠標(biāo)右鍵菜單選擇”SVNUpdate”。會提示有無文件需要更新,點(diǎn)”ok”完成。
commit(提交)操作
把本地目錄中變化了的文件或目錄提交到版本庫中,用commit操作。增加新文件或目錄,要先用add,再commit。刪除文件或目錄,commit上一級目錄。在資源管理器中,選擇本地目錄或文件,鼠標(biāo)右鍵菜單選擇”SVNCommit”。顯示分上下2個(gè)框的界面。在上框輸入說明文字,建議寫版本號或變更原因,以便將來查找。下框列出提交的內(nèi)容。沒有可提交的內(nèi)容,下框中會顯示一段說明文字。點(diǎn)“ok”。提交結(jié)束,顯示結(jié)果。點(diǎn)“ok”。我們看一下SVN操作流程中如何解決代碼沖突問題。
解決代碼沖突
如果commit時(shí)出現(xiàn)“Youhavetoupdateyourworkcopyfirst.”紅色警告,說明版本庫中的此文件已經(jīng)被其他人修改了。請先點(diǎn)“ok”按鈕退出。執(zhí)行update,然后再commit。
如果修改與update得到的代碼不沖突,則自動合并。如果沖突(比如對同一行代碼進(jìn)行了修改),則出現(xiàn)”Oneormorefilesareinaconflictedstate.“紅色警告,并產(chǎn)生幾個(gè)文件記錄沖突。一般情況下,我們不要直接編輯沖突文件。而按照以下操作手工解決沖突。
在資源管理器中,選擇commit時(shí)沖突的那個(gè)文件,鼠標(biāo)右鍵菜單選擇”Editconficts”。
出現(xiàn)界面,分為”Theirs”、”Mine”和”Merged”3部分,表示”別人修改的內(nèi)容”、”我修改的內(nèi)容”和”合并后的結(jié)果”3部分。我們是要將”別人修改的內(nèi)容”和”我修改的內(nèi)容”有取舍地合并起來,形成”合并后的結(jié)果”。
合并一般分為4種情況:
保留”我的修改”,舍棄”別人的修改”。鼠標(biāo)右鍵點(diǎn)擊Mine框的相應(yīng)行,點(diǎn)擊”Usethistextblock”。
舍棄”我的修改”,保留”別人的修改”。鼠標(biāo)右鍵點(diǎn)擊Theirs框的相應(yīng)行,點(diǎn)擊”Usethistextblock”。
同時(shí)保留”我的修改”和”別人的修改”,并將”我的修改”放在前面。鼠標(biāo)右鍵點(diǎn)擊Mine框的相應(yīng)行,點(diǎn)擊”Usetextblockfromminebeforetheirs”。
同時(shí)保留”我的修改”和”別人的修改”,并將”別人的修改”放在前面。鼠標(biāo)右鍵點(diǎn)擊Mine框的相應(yīng)行,點(diǎn)擊”Usetextblockfromtheirsbeforemine”。
合并完成,Ctrl+S存盤,退出。然后,在資源管理器中,選擇沖突文件,鼠標(biāo)右鍵菜單選擇”Resolved”,標(biāo)記沖突已解決。系統(tǒng)會自動刪除因沖突而新建的文件。此時(shí),就可以繼續(xù)進(jìn)行commit操作了。
add(增加)操作
增加新文件或目錄,要先用add,再commit。在資源管理器中,選擇新增的目錄或文件,鼠標(biāo)右鍵菜單選擇”Add”。提示增加的文件。點(diǎn)“ok”繼續(xù)。結(jié)束點(diǎn)“ok”。
刪除操作
刪除文件或目錄,commit上一級目錄。本節(jié)介紹SVN操作流程完畢,請關(guān)注本節(jié)其他相關(guān)報(bào)道。
【編輯推薦】
- 七步輕松實(shí)現(xiàn)搭建SVN服務(wù)端
- 深入剖析opensuse10.3上如何搭建SVN服務(wù)器
- 學(xué)習(xí)指導(dǎo) 如何搭建SVN服務(wù)器
- 專家在線指導(dǎo)如何搭建SVN服務(wù)
- 常用SVN目錄結(jié)構(gòu)使用的兩大方法詳解