註冊 |登錄

ShareAA.com討論區程式設計討論區 › 查看主題

303

查看

0

回復
返回列表

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

go

Subversion版本控制軟體+教學

樓主
發表於 2010-6-1 08:55 | 只看該作者 | 倒序看帖 | 打印
文章來源:
http://blog.ericsk.org/archives/446
http://blog.ericsk.org/archives/447

前幾天聽到一個同學在趕 project ,結果他 code 修得亂七八糟,然後改到後來發現想要把 code 恢復成曾經寫過的某個版本,但有的地方是忘記怎麼寫,有的地方則是改起來十分麻煩等等,我想如果他有做好版本控制的話,也許就不會這麼囧了…

有鑑於此,我教了幾個朋友簡單使用 subversion
來作版本控制,也許你會問我為什麼不教
CVS Visual Source Safe 等等,很簡單,「因為我只會 subversion !」當然我本身會的也沒有很多,所以只能稍微簡介一下而已 :p

簡單來說,一般版本控制軟體的架構大致是會有一個貯藏庫(Repository,而不是 database),它用來儲存你每次對整個 project 增加、修改及刪除等等動作,每當你將 project 修改至某一個程度(你可以說是某個版本),就可以利用版本控制軟體把你修改的動作送交(commit)到貯藏庫,把這次的修改定為一次修訂版(revision)。正因為這個貯藏庫記錄了每一次修訂版,所以當你想要從貯藏庫取回(checkout)project 時,可以指定任何一次修訂版本,版本控制軟體會幫你處理好從最初版開始的一切動作,當然,如果你本來就存有 project 的 code ,也可以用版本控制軟體作更新(update)的動作來將你所存的 project 更新到最新的修訂版本。

上述的簡介大致提到了在用版本控制軟體時的基本操作,而我這篇文章主要是要介紹 subversion 這個版本控制系統,關於這個系統我就不多作介紹了,我只會提及在各個平臺要怎麼把上面的動作作出來而已。既然作版本控制需要一個 repository ,這裡介紹兩個在網路上可以找到的 subversion 服務:OpenSVNGoogle Code 上的 Project Hosting 。這兩個網站你都可以隨意(似乎是如此)建立新的 repository 放你的 project (惟 Google Code 一個 project 的 repository 限制磁碟空間最多只能使用 100 MB),之後的例子會以 Google Code 的 Project Hosting 當作例子示範。



在 Google Code 的左側導覽列中點選 Project Hosting 便會來到上面的網頁,這時再點選 Create a new project 就可以填入你 project 的相關資料,這樣 Google Code 就幫你產生了一個 repository 了。設定好之後你只要先知道你 repository 的位址(到你 Project 首頁的 Sources 裡去看,會是 https://<你project名稱>.googlecode.com/svn/)就可以了,同時你也要知道你在 Google Code 的密碼,到右上角的 My Profile -> Settings 裡就會有 Google Code 產生的密碼,這個也要記住,因為當你在 commit 的時候會需要用到。



版本控制總需要一個 client-side 的軟體,在 Unix 系的環境裡你安裝好 subversion 相關套件後,就可以在終端機下使用 svn 這個指令來作版本控制,而在 Windows 上,你可以使用一個有圖形化介面的 subversion 軟體:TortoiseSVN,安裝這個軟體後,它就會在你檔案總管的右鍵選單中加入 subversion 的相關指令,相當方便易用。


安裝好 TortoiseSVN 之後,你可以選擇你要存放 project 的位址,然後在該處按右鍵選 SVN Checkout…,再填入你 project repository 的網址及要儲存的資料夾,輸入完帳號及密碼後, repository 上的檔案就會下載下來了。注意你 repository 下會事先建立好三個目錄:branch、trunk及tags,如果你還不是很熟悉版本控制的話,就先把你的 code 放在 trunk 目錄下就好了,所以在 checkout 的時候網址應該輸入:https://<你project名稱>.googlecode.com/svn/trunk/,然後本地端再輸入你 project 的名稱就好,這樣一來你就有一份本地端的 repository 了。


接著,你就可以在這個目錄下放你 project 的資料了,當你決定要 commit 到伺服器上的 repository 時,只要在 project 的目前上按右鍵,選擇 SVN Commit...,這時就會跳出一個對話盒問你要加入或修改哪些檔案,然後也可以讓你填入 log 好記錄這次的修訂版本做了什麼修改,方便日後你要取出某個修定版本時作參考。


如果你在不同的地方都有放一份 repository ,那你每次要修改 project 內容時,都應該先利用 SVN Update 的功能,讓你把 repository 更新到最新的狀態(當然,你也可以選擇要更新到第幾次修訂版 TortoiseSVN -> Update to revision...),這樣當你在作 commit 動作時,才不會出現有不同步的狀況,因而發生 conflict ,那就要再仔細檢查應該如何修改 code 消除 conflict 了。









使用說明:




軟體下載:
TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi



VisualSVN-Server-1.7.2.msi











附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

ShareAA.com Inc.

GMT+8, 2010-9-5 13:32, Processed in 0.027672 second(s), 13 queries.

Powered by Discuz! X1

© 2001-2010 Comsenz Inc.