
第 10 章 管理專案資料
66
讓我們瞭解專案隨著時間的發展過程。
有了 VCS,要恢復某個檔案甚至整個專
案到某個版本是有可能的,也很簡單。
您可以透過 VCS 輕易地叫回不小心刪掉
的資料,找出專案中的某個問題是如何
被發現、診斷然後被解決的,也可以在
無須擔心損害整個專案的情況下,放心
地去嘗試各個不同的替代方案。
早 期 的 控 制 工 具 都 是 集 中 式 的(
圖
10-1
),也就是說,有一個資料庫在統一
控管所有專案資料,而客戶端(專案成
員的電腦)僅保有一份最新版本的複件。
這樣做沒什麼問題,而產業中兩個最受
歡迎的 VCS:CVS 和 Subversion 用的仍
是這個方法。
版本資料庫
A 電腦 B 電腦
版本 1 版本 2 版本 3
圖 10-1
由中心控制管理的版本管理系統
然而這個系統後來被證實會受到一些限
制,因此近幾年像是 Mercurial 和 Git 等
分散式版本控制
工具 (
圖 10-2
) 愈來愈
受到使用者的喜愛。在我撰寫本書的此
時, 後 者 連 同 一 個 叫 作 GitHub 的 網 頁
介面似乎已成了最受社群所愛用的管理
工具。
在分散式控制系統當中,就算所有的資
料都被破壞,也沒有任何備份的情況下
(希望不是真的),我們還可以從同伴那
邊叫回資料,您不用發瘋似地想要找回
所有檔案的歷史,軟體會代勞。
伺服器
A 電腦 B 電腦
圖 10-2
分散式版本管理系統
Git 與 GitHub
Git 的出現是為了滿足分散式專案 的 需
求,但現在任何人都可以受益於這個工
具的強大功能。
在此不會詳細描