版本管理的一些觀念說明

前幾天跟公司內部同事分享了一些版本管理的觀念
順便作個紀錄,避免以後還要找資料

名詞解釋

  • Trunk (Baseline) – 主線
  • Branches – 分支
  • Tags – 標籤

版本控管觀念

  • 版本管理包含文件以及程式
  • 包含工具的使用以及人為規範的遵循
  • 專案中最好有版本控制員角色
  • 版本管理是個循序漸進、持久的過程
  • 項目結構 (目錄) 儘可能保持有邏輯以及意義 (根據專有名詞或階段區分、如 master, release 等)
  • 避免多人修改同一檔案 (文件)
  • 本地端與伺服器端版本不一致
  • 避免手動修改檔案唯讀權限
  • 獲取最新版本時請注意本地端檔案版本
  • 頻繁的簽入或很少簽入
  • 良好的規範與共識
  • 開發前先取得最新版本
  • 確保編譯成功後在簽入 (Commit) 程式
  • 每次簽入的時候都撰寫 log,說明修改的項目與原由
  • 當內容發生衝突時,由歷程紀錄得知上一個修改者,主動討論解決
  • 每日下班前,必須將可建置版本交付出來,避免保留程式碼在簽出 (Checkout) 狀態
  • 避免大量程式碼簽入

參考資源