將 Git 子樹(subtree)轉換為子模塊(submodule)的步驟如下:
1. 確定子樹的路徑和對應的遠程倉庫地址
找到當前項目中子樹的路徑以及對應的遠程倉庫地址。例如,假設子樹的路徑為 subtree-folder
,對應的遠程倉庫地址為 https://github.com/user/repo.git
。
2. 刪除子樹
使用以下命令刪除子樹:
git rm -r subtree-folder
git commit -m "Remove subtree folder"
3. 添加子模塊
將子模塊添加到相同的路徑中:
git submodule add https://github.com/user/repo.git subtree-folder
git commit -m "Add submodule at subtree-folder"
4. 初始化并更新子模塊
確保子模塊正確初始化并更新:
git submodule init
git submodule update
5. 提交更改
將更改提交到主倉庫:
git add .gitmodules subtree-folder
git commit -m "Convert subtree to submodule"
注意事項
- 如果子樹有未提交的更改,請先處理這些更改,否則可能會丟失數據。
- 如果子樹的路徑或遠程倉庫地址有誤,可能導致子模塊無法正確初始化。
通過以上步驟,你可以將 Git 子樹轉換為子模塊,從而更靈活地管理依賴關系。