Git submodule
Git Submodule
什麼是 Git Submodule?
Git submodule 是一種在 Git 專案中管理和版本控制外部相依專案的機制。它允許你將一個 Git 倉庫作為另一個 Git 倉庫的子目錄,同時保持父專案和子專案的提交歷史分離。
為什麼使用 Git Submodule?
- 模組化開發: 將大型專案分解成小型、獨立的模組。
- 代碼重用: 在多個專案中共享和重用代碼。
- 版本控制: 精確控制外部相依專案的版本。
- 獨立開發: 允許子專案獨立開發和維護。
Git Submodule 基本操作
1. 添加 Submodule
git submodule add <repository_url> <path>
例如:
git submodule add <https://github.com/example/lib.git> lib
2. 初始化和更新 Submodule
clone 包含 submodule 的專案後,需要初始化和更新 submodule:
git submodule init
git submodule update
或者使用一條命令:
git submodule update --init --recursive
3. 更新 Submodule
進入 submodule 目錄,然後拉取更新:
cd <submodule_path>
git pull origin master
4. 提交包含 Submodule 更新的變更
git add <submodule_path>
git commit -m "Update submodule"
注意事項
- 子模組的版本控制是獨立的,需要單獨進行提交和推送。
- 更新子模組後,父專案也需要提交這個更新。
- clone 包含子模組的專案時,需要額外的步驟來初始化和更新子模組。
結論
Git submodule 是一個強大的工具,可以幫助管理複雜的專案結構和相依關係。雖然學習曲線可能有點陡峭,但掌握了 Git submodule 後,可以大大提高專案管理的效率和靈活性。