在git管理的項目中引入一個被git管理的子模塊進來,以后如果子模塊更新,我們直接在父項目中拉取依賴的子模塊的最新內(nèi)容即可分尸,
不用每次打jar包锦聊,在copy到項目里。使用命令如下:
path:可以是一個文件夾名稱如a箩绍,也可以是一個多層目錄:a/b/c孔庭,這里的path事先不能存在,如果存在材蛛,git會報錯史飞。
git submodule add git@github.com:xxxx/xxx/xx.git path
git submodule add git@github.com:xxxx/xxx/xx.git mymodules
當(dāng)前命令會把子模塊拉取到放到本地項目的哪個文件夾中
執(zhí)行完命令之后,會在當(dāng)前目錄下多出來兩個文件
.gitmodules
mymodules
然后執(zhí)行
git add .
git commit -m 'add submodule'
git push
可以在遠端看到多出來一個submodules文件夾
如何拉取子模塊的最新代碼
進入到子模塊目錄下執(zhí)行如下命令:
git pull
如果子模塊特別多仰税,可以執(zhí)行如下命令一次性拉取所有子模塊的內(nèi)容,需要在父目錄下執(zhí)行
git submodule foreach git pull
新成員如何完整的拉取包括子模塊的項目
執(zhí)行如下命令,在父項目的根目錄下
git submodule init
git submodule update --recursive
執(zhí)行完之后构资,submodule會顯示處于某個提交節(jié)點,而不是分支陨簇,這個時候我們可以執(zhí)行g(shù)it checkout master切換到master分支吐绵,或者別的分支上
我們也可以執(zhí)行如下一條命令,達到拉取子模塊的內(nèi)容
git clone git@github.com:xxxx/xxx/xx.git myproject --recursive
刪除子模塊
刪除子模塊沒有相關(guān)的命令河绽,我們可以通過rm -rf刪除文件己单,在提交,在推送耙饰,在把.gitmodules文件刪除纹笼,即可