

# OPS05-BP01 使用版本控制
<a name="ops_dev_integ_version_control"></a>

 使用版本控制來追蹤變更和發布。

 許多 AWS 服務都提供版本控制功能。使用修訂版或[原始程式碼控制](https://aws.amazon.com/devops/source-control/)系統 (例如 [Git](https://aws.amazon.com/devops/source-control/git/)) 來管理程式碼和其他成品，例如基礎結構的版本控制 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 範本。

 **期望的結果：**您的團隊在程式碼上進行協作。合併後，程式碼會是一致的，且變更不會遺失。透過正確的版本控制就能輕鬆復原錯誤。

 **常見的反模式：**
+  您已在工作站上開發和儲存程式碼。您的工作站發生無法復原的儲存錯誤，造成程式碼遺失。
+  變更覆寫現有的程式碼之後，您重新啟動應用程式卻無法運作。您無法還原變更。
+  您對其他人要編輯的報告檔案加上了寫入鎖定。他們會與您聯絡，要求您停止處理該檔案，以便完成任務。
+  您的研究團隊一直在進行詳細的分析，以規劃您未來的工作。某人意外地將自己的購物清單儲存在最終報告中。您無法還原變更，且必須重新建立報告。

 **建立此最佳實務的優勢：**透過使用版本控制功能，您可以輕鬆還原為已知的良好狀態和舊版本，並有效降低資產遺失的風險。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 在版本控制的儲存庫中維護資產。此舉可實現變更追蹤、新版本部署、對現有版本的變更偵測以及還原到先前的版本 (例如，在發生故障時復原到已知的良好狀態)。將組態管理系統的版本控制功能整合到您的程序中。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [OPS05-BP04 使用建置和部署管理系統](ops_dev_integ_build_mgmt_sys.md) 

 **相關影片：**
+ [AWS re:Invent 2023 - Lockheed Martin 如何採用 DevSecOps 技術更快建置軟體](https://www.youtube.com/watch?v=Q1OSyxYkl5w)
+ [AWS re:Invent 2023 - GitHub 如何將 AI 營運化以應用到團隊協作和生產力](https://www.youtube.com/watch?v=cOVvGaiusOI)