Git submodule

Git Submodule

什麼是 Git Submodule?

Git submodule 是一種在 Git 專案中管理和版本控制外部相依專案的機制。它允許你將一個 Git 倉庫作為另一個 Git 倉庫的子目錄,同時保持父專案和子專案的提交歷史分離。

為什麼使用 Git Submodule?

  1. 模組化開發: 將大型專案分解成小型、獨立的模組。
  2. 代碼重用: 在多個專案中共享和重用代碼。
  3. 版本控制: 精確控制外部相依專案的版本。
  4. 獨立開發: 允許子專案獨立開發和維護。

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"

注意事項

  1. 子模組的版本控制是獨立的,需要單獨進行提交和推送。
  2. 更新子模組後,父專案也需要提交這個更新。
  3. clone 包含子模組的專案時,需要額外的步驟來初始化和更新子模組。

結論

Git submodule 是一個強大的工具,可以幫助管理複雜的專案結構和相依關係。雖然學習曲線可能有點陡峭,但掌握了 Git submodule 後,可以大大提高專案管理的效率和靈活性。


Click here to share this article with your friends on X if you liked it.