當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

git中submodule子模塊的添加、使用和刪除的示例代碼

 2020-11-10 14:51  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

這篇文章主要介紹了git中submodule子模塊的添加、使用和刪除的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

背景

項(xiàng)目中經(jīng)常使用別人維護(hù)的模塊,在git中使用子模塊的功能能夠大大提高開發(fā)效率。

使用子模塊后,不必負(fù)責(zé)子模塊的維護(hù),只需要在必要的時(shí)候同步更新子模塊即可。

本文主要講解子模塊相關(guān)的基礎(chǔ)命令,詳細(xì)使用請(qǐng)參考man page。

子模塊的添加

添加子模塊非常簡(jiǎn)單,命令如下:

git submodule add <url> <path>

其中,url為子模塊的路徑,path為該子模塊存儲(chǔ)的目錄路徑。

執(zhí)行成功后,git status會(huì)看到項(xiàng)目中修改了.gitmodules,并增加了一個(gè)新文件(為剛剛添加的路徑)

git diff --cached查看修改內(nèi)容可以看到增加了子模塊,并且新文件下為子模塊的提交hash摘要

git commit提交即完成子模塊的添加

子模塊的使用

克隆項(xiàng)目后,默認(rèn)子模塊目錄下無(wú)任何內(nèi)容。需要在項(xiàng)目根目錄執(zhí)行如下命令完成子模塊的下載:

git submodule init
git submodule update

或:

git submodule update --init --recursive

執(zhí)行后,子模塊目錄下就有了源碼,再執(zhí)行相應(yīng)的makefile即可。

子模塊的更新

子模塊的維護(hù)者提交了更新后,使用子模塊的項(xiàng)目必須手動(dòng)更新才能包含最新的提交。

在項(xiàng)目中,進(jìn)入到子模塊目錄下,執(zhí)行 git pull更新,查看git log查看相應(yīng)提交。

完成后返回到項(xiàng)目目錄,可以看到子模塊有待提交的更新,使用git add,提交即可。

刪除子模塊

有時(shí)子模塊的項(xiàng)目維護(hù)地址發(fā)生了變化,或者需要替換子模塊,就需要?jiǎng)h除原有的子模塊。

刪除子模塊較復(fù)雜,步驟如下:

1.rm -rf 子模塊目錄 刪除子模塊目錄及源碼

2.vi .gitmodules 刪除項(xiàng)目目錄下.gitmodules文件中子模塊相關(guān)條目

3.vi .git/config 刪除配置項(xiàng)中子模塊相關(guān)條目

4.rm .git/module/* 刪除模塊下的子模塊目錄,每個(gè)子模塊對(duì)應(yīng)一個(gè)目錄,注意只刪除對(duì)應(yīng)的子模塊目錄即可

執(zhí)行完成后,再執(zhí)行添加子模塊命令即可,如果仍然報(bào)錯(cuò),執(zhí)行如下:

git rm --cached 子模塊名稱

完成刪除后,提交到倉(cāng)庫(kù)即可。

到此這篇關(guān)于git中submodule子模塊的添加、使用和刪除的示例代碼的文章就介紹到這了,更多相關(guān)git submodule子模塊添加刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/193214.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦