Diomidis Spinellis

將所有東西都放進版本控制#

把你所有專案的資產都放入版本控制系統(version control)。所需的資源都已齊備:免費工具如 Subversion、Git、Mercurial 和 CVS;充足的磁碟空間;便宜且強大的伺服器;無處不在的網路;甚至還有專案託管服務。

安裝好版本控制軟體後,你只需要做兩件事:

  1. 在乾淨的目錄中執行適當的命令,將你的程式碼放入 repository
  2. 學會兩個基本操作:commit(提交你的程式碼變更)和 update(將專案同步至 repository 的最新版本)

版本控制帶來的好處#

一旦專案納入版本控制,你可以:

  • 追蹤歷史紀錄:查看誰寫了哪段程式碼,透過唯一識別碼引用檔案或專案版本
  • 大膽修改:不再需要用註解把程式碼保留下來「以防萬一」,因為舊版本安全地存放在 repository 中
  • 標記發布版本(tag):為軟體發行版打上符號名稱,方便未來回溯客戶執行的確切版本
  • 建立分支(branch):大多數專案都有一個活躍的開發分支,以及一個或多個用於已發布版本的維護分支

不要只放程式碼#

設定專案時不要吝嗇——將專案的所有資產都放進版本控制。除了原始碼,還包括文件、工具、建置腳本、測試案例、美術素材,甚至是函式庫。

將完整專案安全地存入(定期備份的)repository 後,遺失磁碟或資料的風險就能降到最低。在新機器上設定開發環境只需從 repository checkout 專案,一個 update 命令就能確保軟體是最新版本。

有效使用版本控制的準則#

  • 每個邏輯變更獨立提交:將多個變更混在同一次 commit 中,日後會很難拆解。進行全專案範圍的重構或樣式調整時尤其重要,因為這些變更容易掩蓋其他修改
  • 每次提交都附上說明訊息:至少簡潔描述你修改了什麼;如果想記錄變更的理由,commit message 是最佳的存放位置
  • 避免提交會破壞建置的程式碼:否則你會在團隊中變得不受歡迎

版本控制系統的便利是寶貴的,別因為容易避免的失誤而糟蹋了它。