拆分項目,當項目愈來愈大以後,咱們但願 子模塊 能夠單獨管理,並由 專門 的人去維護,這個時候只能夠使用 git submodule
去完成。git
git clone <repository> --recursive # 遞歸方式克隆整個項目
git submodule add <repository> path # 添加子模塊
git submodule init # 初始化子模塊
git submodule update # 更新子模塊
git submodule foreach git pull # 拉取全部子模塊複製代碼
git submodule add
便可添加服務器
git clone
直接遞歸克隆,若是是克隆父項目,能夠在克隆完成以後,使用 git submodule init
初始化子項目列表和 git submodule update
更新最新的子項目。spa
若是子模塊和新的修改,可是父項目沒有更新到最新,則能夠使用 git submodule foreach git pull
將全部的子項目中更新,若是子項目比 .gitmodules 新,則須要更新一下 .gitmodules 。code
父項目中的子模塊的版本是由 commit id 標識的,因此須要更新 .gitmodules 。遞歸
首先須要 git rm --cached
,而後依次刪除對應的目錄、.gitmodules 文件中的記錄、 .git/cofig 中的記錄。再提交到遠程服務器,就能夠刪除了。get
注意:同步
在執行
git rm --cached
的時候,最後不能夠有 / 。it
與刪除相同,須要同時修改 .gitmodules 和 .git/config 兩個文件中的 URL 值,而後執行 git submodule sync
來同步,而後再提交到遠程便可。class
文章首發於:www.zucchiniy.cnmodule