企業(yè)網(wǎng)站服務(wù)器選擇/torrentkitty磁力官網(wǎng)
背景
項目中經(jīng)常使用別人維護(hù)的模塊,在git
中使用子模塊的功能能夠大大提高開發(fā)效率。
使用子模塊后,不必負(fù)責(zé)子模塊的維護(hù),只需要在必要的時候同步更新子模塊即可。
本文主要講解子模塊相關(guān)的基礎(chǔ)命令,詳細(xì)使用請參考main page
。
子模塊的添加
添加子模塊非常簡單,命令如下:
git submodule add <url> <path>
其中,url
為子模塊的路徑,path
為該子模塊存儲的目錄路徑。
執(zhí)行成功后,git status
會看到項目中修改了.gitmodules
,并增加了一個新文件(為剛剛添加的路徑)
git diff --cached
查看修改內(nèi)容可以看到增加了子模塊,并且新文件下為子模塊的提交hash摘要
git commit
提交即完成子模塊的添加
子模塊的使用
克隆項目后,默認(rèn)子模塊目錄下無任何內(nèi)容。需要在項目根目錄執(zhí)行如下命令完成子模塊的下載:
git submodule init
git submodule update
或:
git submodule update --init --recursive
執(zhí)行后,子模塊目錄下就有了源碼,再執(zhí)行相應(yīng)的makefile
即可。
子模塊的更新
子模塊的維護(hù)者提交了更新后,使用子模塊的項目必須手動更新才能包含最新的提交。
在項目中,進(jìn)入到子模塊目錄下,執(zhí)行 git pull
更新,查看git log
查看相應(yīng)提交。
完成后返回到項目目錄,可以看到子模塊有待提交的更新,使用git add
,提交即可。
刪除子模塊
有時子模塊的項目維護(hù)地址發(fā)生了變化,或者需要替換子模塊,就需要刪除原有的子模塊。
刪除子模塊較復(fù)雜,步驟如下:
1、rm -rf
子模塊目錄 刪除子模塊目錄及源碼
2、vi .gitmodules
刪除項目目錄下.gitmodules
文件中子模塊相關(guān)條目
3、vi .git/config
刪除配置項中子模塊相關(guān)條目
4、rm .git/module/*
刪除模塊下的子模塊目錄,每個子模塊對應(yīng)一個目錄,注意只刪除對應(yīng)的子模塊目錄即可
執(zhí)行完成后,再執(zhí)行添加子模塊命令即可,如果仍然報錯,執(zhí)行如下:
git rm --cached 子模塊名稱
完成刪除后,提交到倉庫即可。