2008/10/16

SVN 版本控管

這樣的文件雖然很多,但是這篇是我的同事寫的,在我的辦公室經驗同仁驗證,我只是代為貼上來,他叫 Johnnie.

什麼是SVN?

SVN全名Subversion,是一個版本控制系統版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。網際網路上免費的版本控制服務多採用Subversion。
本文主要簡述:1. SVN Repository的架設 2. User如何在client端的電腦透過SVN對檔案作版本控制。
需要更詳細的說明,可參考下面的資料:
Subversion官方網站
TortoiseSVN官方網站
SVN Book(英文)
SVN Book(中譯)
Wiki
TortoseSVN 使用簡介
相當實用的電子書

Subversion (Sever端) 資料庫的建立流程



1. 首先到 SVN官方網站 http://subversion.tigris.org/下載Subversion, 並且在server端的電腦安裝 svn-1.4.3-setup.exe
2. 安裝完後, 點選 開始à執行,輸入 cmd svn
3. 接下來, 建立一個你要的資料庫(目錄/資料夾),例如 C:\Repository\test, 在文字模式底下輸入命令

svnadmin create C:\Repository\test

4. 在剛建立的目錄下(test), 裡面會有 3 個檔案
authz
passwd
svnserve.conf

5. 將這3個設定檔換成下面的範例
passwd 檔案設定範例
[users]
User = 123456


svnserver.conf 檔案設定範例
[general]
anon-access = none
auth-access = write
password-db = ../../passwd #小技巧可以讓很多Project 共用一份密碼檔案
authz-db = ../../authz ##小技巧可以讓很多Project 共用一份權限設定


authz 檔案
[groups]
# 註解
RD = User

[:/]
#root 的存取權限
@RD = rw
User = rw

[AlarmTest:/]
#每個目錄都需要來一段,要不然不會動
@RD = rw

[temp:/]
#temp 任意人都可以讀取
* = r


6. 點選 開始->執行, 然後在文字模式底下輸入命令輸入:
sc create Subversion binPath= "c:\Program Files\Subversion\bin\svnserve.exe --service -r C:\Repository" DisplayName= "Subversion" start= auto depend= TCPIP
7. 點選我的電腦右鍵, 管理->服務及應用程式->Subversion
並且在服務狀態那點選啟動







8. 進行測試,在文字模式底下輸入命令:
svn co svn://localhost/test C:\MyProject
localhost 為本機的網域名稱(因為SVN架在自己的機器上面所以使用 localhost或是 127.0.0.1),理論上應該伺服器的IP或是網域名稱
P.S 如果還不行連到svn 的database,去檢查防火牆是否開啟,在控制台底下點選Windows防火牆,點選 例外->新增連接戶->確定,然後新開一個port:
名稱 :Subversion
連接戶編號:3690






TortoiseSVN (Client端) 使用流程

1. 首先到SVN官方網站下載TortoiseSVN,並且在你的電腦安裝 TortoiseSVN-1.5.4.14259-win32-svn-1.5.3.msi
2. 安裝成功後,按下滑鼠右鍵,應該可以看到下圖:




3. 取得(Checkout) Repository?

例如:在你的桌面上新增一個Working資料夾,點選滑鼠右鍵,選擇 SVN Checkout…,在URL of repository欄位中,輸入server端資料庫的路徑:
svn://10.243.12.167/test





輸入使用者的帳號和密碼,點選OK





4. 如何新增檔案或目錄到Repository?

需在檔案或目錄的icon上面,按滑鼠右鍵並且選擇TortoiseSVN->Add,TortoiseSVN會把要加入的檔案或目錄顯示出來,打勾的表示要被加入到Repository。 注意!Add的動作並未將檔案放到Repository中,它只告知SVN準備要在Repository中放入這些檔案,因此,如果你檢視這些檔案時,會看到一個驚嘆號標誌在檔案icon的下方。
注意:新增的檔案要經過提交(Commit)的動作才回真正的放入Repository





5. 如何提交(Commit)修改過的檔案或目錄?

需在檔案或目錄的icon上面,按滑鼠右鍵並且選擇SVN Commit…





在Message欄位中輸入本次提交的紀錄訊息,以利日後版本追蹤




6. 更新(Update)檔案或目錄

為何需要更新?由於版本控制系統多半都是由許多人共同使用。所以,相同的檔案可能還有人會去進行編輯或修改。為了確保你工作目錄中的檔案與Repository中的檔案是同步的,建議你在編輯前都先進行更新的動作。

在想要更新的檔案或目錄icon上面按下滑鼠右鍵,並且選擇SVN Update


0 意見: