git 子模塊的使用

git submodule study

添加子模塊

git submodule add http://ip:3000/darren/node-demo.git node-demo
git submodule add http://ip:3000/darren/vue-demo.git vue-demo

更新子模塊

方法一、git submodule foreach git pull

方法二、分別進(jìn)入子模塊目錄
執(zhí)行 git pull
更新Submodule的時候如果有新的commit id產(chǎn)生,需要在父項目產(chǎn)生一個新的提交
子模塊的commit會變?yōu)樽钚碌腸ommit id。

克隆子模塊

clone Submodule有兩種方式 一種是采用遞歸的方式clone整個項目,一種是clone父項目,再更新子項目。

方法一、采用遞歸參數(shù) --recursive
git clone http://ip:3000/darren/submodule-demo.git --recursive

方法二、先clone父項目,再初始化Submodule
git clone http://ip:3000/darren/submodule-demo.git
git submodule init
git submodule update
或者
git submodule update --init --recursive

刪除子模塊

有時子模塊的項目維護(hù)地址發(fā)生了變化,或者需要替換子模塊,就需要刪除原有的子模塊。
git 并不支持直接刪除Submodule需要手動刪除對應(yīng)的文件:
刪除子模塊較復(fù)雜,步驟如下:

rm -rf 子模塊目錄 刪除子模塊目錄及源碼
vi .gitmodules 刪除項目目錄下.gitmodules文件中子模塊相關(guān)條目
vi .git/config 刪除配置項中子模塊相關(guān)條目
rm .git/module/* 刪除模塊下的子模塊目錄,每個子模塊對應(yīng)一個目錄,注意只刪除對應(yīng)的子模塊目錄即可
執(zhí)行完成后,再執(zhí)行添加子模塊命令即可,如果仍然報錯,執(zhí)行如下:
git rm --cached 子模塊名稱
完成刪除后,提交到倉庫即可。

相關(guān)命令

拉取所有子模塊
git submodule foreach git pull
git submodule foreach --recursive git submodule init
git submodule foreach --recursive git submodule update

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容