說了那麼多終於要開始使用版本控管了,之前已經有範例提到 取得檔案(Checkout)的方法,但那也僅僅只是提到而已,在這裡 demo 要重申一下 取得檔案(Checkout)是將檔案庫(Repository)內的資料複製一份到工作區(WorkSpace)的本機複本動作,這動作只有在專案一開始的時候才會使用,不管你是使用線上還是單機版的檔案庫(Repository),執行 取得檔案(Checkout)後本機複本就會與檔案庫(Repository)上的專案資料結構一模一樣。
之前在【建立Repository之架設自己的 SVN Server】有提到建立檔案庫(Repository)的時候一定要勾選ooxx,讓系統建立出「Trunk」「Branches」「Tag」這三個目錄,這裡就來解釋這三個目錄的用途。
Trunk
用於主線,理想狀態下這裡的檔案是隨時可以交付的。
Branches
用於分支,可以有效的避免主線髒掉的事情發生,分支相當的獨立,只要不合併回主線,就不會對主線造成任何影響,因此相當適合用於開發新功能或是重構的時候使用。
Tag
用於標籤,因為版本控管中每一次的送交(Commit)都會是一個版本,時間久了版本數很多可能會發生找不到特定版本的事情,因此可以利用 Tag 來將代表性的版本(如 Release 版)存放一份保存。
以上的目錄用途介紹,稍微看一下就好,往後的文章還會再提到,一開始觀念還不清楚的時候可以先使用 Trunk 目錄就好。
情境模擬
為求往後的範例順暢進行,因此我們需要模擬一下環境,以下是說明:
1.使用線上檔案庫
2.專案名稱為「demoshopTest」
3.建立專案的時候有建立預設的「Trunk」「Branches」「Tag」資料夾
4.假設 SVN Server IP為 192.168.0.7
建立一個目錄(本範例為 ironman4)當本機複本的目錄,然後在空白處按「滑鼠右鍵」→「SVN Checkout」
系統會跳出 Checkout 的視窗
1.請輸入你的 檔案庫(Repository)位置
2.工作複本的路徑(預設會抓取你選擇 SVN Checkout 時的路徑)
3.不需要特別選擇,預設就是將所有檔案抓回
你可以選擇要 Checkout 哪一個版本,通常都是直接選擇 HEAD revision 抓取最新的版本
這裡對於 Repository 位置有一點地方需要注意,如果你的 檔檔案庫(Repository)是有建立「Trunk」「Branches」「Tag」這三個預設資料夾的時候記得在網址後方加上 trunk(上圖的範例網址就有),這樣加上後才會只 Checkout Trunk 目錄下的檔案,不然會將「Trunk」「Branches」「Tag」檔案都抓回來,雖然說一樣可以用,但是往後你會很亂….現在我們還是先專注於 Trunk 目錄下的檔案即可。
按下「OK」後就會開始抓取 檔案庫(Repository)的檔案了(如果專案已經有檔案的話)
到這裡我們就已經完成建立一個 Working 目錄的動作,下一篇就會提到如何送交(Commint)檔案至檔案庫(Repository)。
測試了一下,
第一次,和版控主機連結時,用checkout,
之後的任何更新,都是用update , 舉凡是檔案的異動,從版控主機將檔案抓下來。都是update!!
還有,第二次用checkout的機會嗎?