轉自:http://flatfish2000.javaeye.com/blog/425198
第一章 安裝
TortoiseSVN安裝
·可以從http://tortoisesvn.tigris.org/下載最新版, 本系統使用的是:
TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi。
·下載後,安裝。重啟機器,使目錄表徵圖生效。
·在資源管理員中,滑鼠右鍵點擊任意位置,右鍵菜單中出現“SVN Checkout”,即為安裝成功。
第二章 使用
1. svn操作流程
開發人員使用svn進行開發的一般流程是:
· checkout(檢出)項目
· 更新檔案或目錄 ——> update
· 修改檔案或目錄 —— commit(提交)變更
· 增加檔案或目錄 ——> add(增加) 檔案或目錄——> commit(提交)
· 刪除檔案或目錄 ——> commit(提交)上一級目錄
其中,checkout只進行一次,以後使用update更新即可。update、commit、add操作根據需要會經常使用。
現在你已經從Subversion版本庫中檢出了一份工作複本,你可以在資源管理員中看一下這些檔案的表徵圖有什麼變化。這也正是TortoiseSVN這麼流行的原因之一。TortoiseSVN加入了被稱為重載表徵圖的功能重載了原始的檔案表徵圖。根據檔案的Subversion狀態的不同,重載的表徵圖也不同。
·一個新檢出的工作複本使用綠色的對勾做重載。表示Subversion狀態正常.
·在你開始編輯一個檔案後,狀態就變成了已修改,而表徵圖重載變成了紅色驚嘆號。通過這種方式,你可以很容易地看出哪些檔案從你上次更新工作複本後被修改過,需要被提交。
·如果在提交的過程中出現了衝突表徵圖變成黃色驚嘆號。
·如果你給一個檔案設定了svn:needs-lock屬性,Subversion會讓此檔案唯讀,直到你獲得檔案鎖。唯讀檔案具有這個重載表徵圖來表示你必須在編輯之前先得到一個鎖。
·如果你擁有了一個檔案的鎖,並且Subversion狀態是正常,這個重載表徵圖就提醒你如果不使用該檔案的話應該釋放鎖,允許別人提交對該檔案的修改。
·打叉的表徵圖表示當前檔案夾下的某些檔案或檔案夾已經被計劃從版本控制中刪除,或是該檔案夾下某個受控的檔案丟失了。
·加號告訴你有一個檔案或是目錄已經被計劃加入版本控制。
2. 操作詳解
l checkout(檢出)操作
在資源管理員中,滑鼠右鍵點擊任意位置,在菜單中選擇”SVN Checkout”。
出現對話方塊,在”URL of repository:”中輸入svn串,格式是“協議://ip:port/版本庫/項目/目錄”。根據實際情況輸入,例如http://code.google.com/p/google-web-toolkit/source。如有疑問,向svn伺服器管理員詢問。
本系統使用的URL: “svn://192.168.0.181:3690”
使用者名稱密碼為自己的姓名拼音首字母,此使用者為SVN使用者,非系統使用者。
在“checkout directory”中輸入本地存放代碼的目錄,請選擇空目錄或新目錄。svn會清空該目錄下的一切檔案。輸入完畢,點擊”ok”按鈕。
如果需要,會提示輸入使用者名稱和密碼。選上”Save authentication”後,以後可以自動登入,不必重輸密碼。
checkout…有時候時間會很長。結束,點”ok”。
l update(更新)操作
在資源管理員中,選擇本地目錄或檔案,滑鼠右鍵菜單選擇”SVN Update”。會提示有無檔案需要更新,點”ok”完成。
l commit(提交)操作
把本地目錄中變化了的檔案或目錄提交到版本庫中,用commit操作。增加新檔案或目錄,要先用add,再commit。刪除檔案或目錄,commit上一級目錄。
在資源管理員中,選擇本地目錄或檔案,滑鼠右鍵菜單選擇”SVN Commit”。
顯示分上下2個框的介面。在上框輸入解說文字,建議寫版本號碼或變更原因,以便將來尋找。下框列出提交的內容。沒有可提交的內容,下框中會顯示一段解說文字。點“ok”。
提交結束,顯示結果。點“ok”。
l 解決代碼衝突
如果commit時出現“You have to update your work copy first.”紅色警告,說明版本庫中的此檔案已經被其他人修改了。請先點“ok”按鈕退出。執行update,然後再commit。
如果修改與update得到的代碼不衝突,則自動合并。如果衝突(比如對同一行代碼進行了修改),則出現”One or more files are in a conflicted state.“紅色警告,併產生幾個檔案記錄衝突。一般情況下,我們不要直接編輯衝突檔案。而按照以下操作手工解決衝突。
在資源管理員中,選擇commit時衝突的那個檔案,滑鼠右鍵菜單選擇”Edit conficts”。
出現介面,分為”Theirs”、”Mine”和”Merged”3部分,表示”別人修改的內容”、 ”我修改的內容”和”合并後的結果”3部分。我們是要將”別人修改的內容”和”我修改的內容”有取捨地合并起來,形成”合并後的結果”。
合并一般分為4種情況:
保留”我的修改”,捨棄”別人的修改”。滑鼠右鍵點擊Mine框的相應行,點擊”Use this text block”。
捨棄”我的修改”,保留”別人的修改”。滑鼠右鍵點擊Theirs框的相應行,點擊”Use this text block”。
同時保留”我的修改”和”別人的修改”,並將”我的修改” 放在前面。滑鼠右鍵點擊Mine框的相應行,點擊”Use text block from mine before theirs”。
同時保留”我的修改”和”別人的修改”,並將”別人的修改”放在前面。滑鼠右鍵點擊Mine框的相應行,點擊”Use text block from theirs before mine”。
合并完成,Ctrl+S存檔,退出。
然後,在資源管理員中,選擇衝突檔案,滑鼠右鍵菜單選擇”Resolved”,標記衝突已解決。系統會自動刪除因衝突而建立的檔案。此時,就可以繼續進行commit操作了。
l add(增加)操作
增加新檔案或目錄,要先用add,再commit。
在資源管理員中,選擇新增的目錄或檔案,滑鼠右鍵菜單選擇”Add”。
提示增加的檔案。點“ok”繼續。結束點“ok”。