看圖說故事:為何要使用版本控制系統?
之前的 blog [
淺談版本控制系統] 張貼後,引來頗多迴響,信箱不時會有朋友來信交流,當然,就如許多開發者所知,版本控制系統 (Version Control System, VCS) 是相當重要的,而且隨著專案複雜度的提高,也逐漸需要 GNU Arch、svk、monotone、... 等具備分散式版本控制能力的新系統。在 Linux Kernel 中,有 git 的解方案,之前的 blog [
在 Linux kernel 外應用 GIT,兼談分散式版本控制系統] 也作了介紹,而說了這麼多,到底重要性在哪?
撇開技術議題,咱們從文化的角度來看。在台中科學博物館中,有幅大型海報: (click to enlarge)

右下方的介紹文字是: (click to enlarge)

主人翁就是 [
何傳坤] 博士,作為人類學家的專家,看待軟體產業這樣微不足道的小片段,不失作為繼往開來的參考,的確:
回頭看軟體開發,不是每個開發者都 [可以 / 允許 / 應該] 如同 王羲之創作的《蘭亭序》的過程一般,隨性寫完後,就不再更動,成為中華文化的瑰寶,相反的,軟體專案背後都是歷史故事,簡單的示意圖如下:

軟體專案中有許多細節,大致可以說是許多小模組或者文件所構成,這些項目依據需求與人力投入程度不同,會逐漸增長。
我深信「過程遠比結果重要」的說法,而且軟體專案開發的過程中,免不了會有相當多中間產物,也會有許多實驗性的改進或內部版本,這些都是努力的見證,但往往最後的專案會忽視這些歷程。更甚者,一旦智慧財產移轉或者邁入新的里程碑,而不再積極維護的時候,那些過程往往會被遺忘,用不到但佔空間的東西,可以算是垃圾,所以過去那些軟體成果,事實上也是「垃圾」,如果沒有妥善使用版本控制系統,要抱持「考古」的精神去「挖掘」就相當不容易,更別說印證「昨天的垃圾是未來的考古遺物!」。
所以,為了軟體專案開發的永續經營、為了我們當代的文化,以及為了未來的人類史,咱們快點使用版本控制系統吧!
由 jserv 發表於 November 4, 2005 12:43 AM