git submodule 管理子項目

使用場景

拆分項目,當項目愈來愈大以後,咱們但願 子模塊 能夠單獨管理,並由 專門 的人去維護,這個時候只能夠使用 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 path 便可添加服務器

克隆子模塊

git clone --recursive 直接遞歸克隆,若是是克隆父項目,能夠在克隆完成以後,使用 git submodule init 初始化子項目列表和 git submodule update 更新最新的子項目。spa

更新子模塊

若是子模塊和新的修改,可是父項目沒有更新到最新,則能夠使用 git submodule foreach git pull 將全部的子項目中更新,若是子項目比 .gitmodules 新,則須要更新一下 .gitmodulescode

父項目中的子模塊的版本是由 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

相關文章
相關標籤/搜索