最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git-github 子模塊倉(cāng)庫(kù)更新(git submodule)及git中submodule子模塊的添加、使用和刪除操作

 更新時(shí)間:2023年03月27日 10:25:29   作者:西京刀客  
這篇文章主要介紹了git-github 子模塊倉(cāng)庫(kù)更新(git submodule)/git中submodule子模塊的添加、使用和刪除,使用子模塊后,不必負(fù)責(zé)子模塊的維護(hù),只需要在必要的時(shí)候同步更新子模塊即可,需要的朋友可以參考下

一、git submodule背景

項(xiàng)目中經(jīng)常使用別人維護(hù)的模塊,在git中使用子模塊的功能能夠大大提高開(kāi)發(fā)效率。
使用子模塊后,不必負(fù)責(zé)子模塊的維護(hù),只需要在必要的時(shí)候同步更新子模塊即可。

1. git將submodule有關(guān)的信息在哪?

git將submodule有關(guān)的信息保存在兩個(gè)地方:

  • .gitmodules在倉(cāng)庫(kù)中,有版本控制,修改之后會(huì)同步到其他倉(cāng)庫(kù),使用submodule相關(guān)命令的時(shí)候會(huì)自動(dòng)更新
  • .git/config在本地,需要手動(dòng)更新,或者執(zhí)行g(shù)it submodule sync將新的配置從.gitmodules拷貝到.git/config
  • git submodule sync會(huì)將submodule遠(yuǎn)程的 url 配置設(shè)置到.gitmodules,并且只會(huì)影響.git/config已經(jīng)有 url 的條目,指定–recursive,將會(huì)遞歸更新注冊(cè)的submodule

2. 子模塊的添加

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

git submodule add

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

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

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

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

3. 子模塊倉(cāng)庫(kù)更新

github 子模塊多倉(cāng)庫(kù)代碼更新。

git submodule sync
git submodule update --init

當(dāng)使用git clone下來(lái)的工程中帶有submodule時(shí),初始的時(shí)候,submodule的內(nèi)容并不會(huì)自動(dòng)下載下來(lái)的,此時(shí),只需執(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,提交即可。

4. 刪除子模塊

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

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

rm -rf 子模塊目錄 刪除子模塊目錄及源碼
vi .gitmodules 刪除項(xiàng)目目錄下.gitmodules文件中子模塊相關(guān)條目
vi .git/config 刪除配置項(xiàng)中子模塊相關(guān)條目
rm .git/module/* 刪除模塊下的子模塊目錄,每個(gè)子模塊對(duì)應(yīng)一個(gè)目錄,注意只刪除對(duì)應(yīng)的子模塊目錄即可

執(zhí)行:git submodule status
linux下執(zhí)行:
git ls-files --stage | grep 160000 
windows下執(zhí)行:
git ls-files --stage | findstr 160000

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

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

過(guò)程中問(wèn)題

1.fatal: Please stage your changes to .gitmodules or stash them to proceed
D:\GoWorks\src\mylotus>git rm --cached extern/filecoin-ffi
fatal: Please stage your changes to .gitmodules or stash them to proceed

如果提示Please stage your changes to .gitmodules or stash them to proceed直接刪掉.gitmodules文件即可
$ rm ./gitmodules

參考文獻(xiàn)

git中submodule子模塊的添加、使用和刪除
參考URL: https://blog.csdn.net/guotianqing/article/details/82391665

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

相關(guān)文章

  • Scratch3.0初始化加載七牛云上的sbs文件的方法

    Scratch3.0初始化加載七牛云上的sbs文件的方法

    今天通過(guò)本文給大家介紹Scratch3.0初始化加載七牛云上的sbs文件的實(shí)例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-08-08
  • git中reset和revert區(qū)別小結(jié)

    git中reset和revert區(qū)別小結(jié)

    本文主要介紹了git中reset和revert區(qū)別小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 徹底卸載VSCode的方法步驟(附圖文)

    徹底卸載VSCode的方法步驟(附圖文)

    VSCode卸載后重新安裝,會(huì)發(fā)現(xiàn)好像把之前的設(shè)置和配置也復(fù)原,這樣就達(dá)不到重裝的目的,問(wèn)題就在于卸載時(shí)沒(méi)有卸載干凈,下面這篇文章主要給大家介紹了關(guān)于徹底卸載VSCode的方法步驟,需要的朋友可以參考下
    2023-04-04
  • VSCode常用知識(shí)小結(jié)

    VSCode常用知識(shí)小結(jié)

    本文給大家匯總介紹了vscode的下載,安裝,常用插件以及常用的快捷鍵,非常的詳細(xì),希望對(duì)大家使用vscode能夠有所幫助
    2020-02-02
  • 玩轉(zhuǎn)VSCode插件之Remote-SSH的使用情況

    玩轉(zhuǎn)VSCode插件之Remote-SSH的使用情況

    這篇文章主要介紹了玩轉(zhuǎn)VSCode插件之Remote-SSH的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 各類常見(jiàn)語(yǔ)言清除網(wǎng)頁(yè)緩存方法匯總

    各類常見(jiàn)語(yǔ)言清除網(wǎng)頁(yè)緩存方法匯總

    這篇文章主要介紹了各類常見(jiàn)語(yǔ)言清除網(wǎng)頁(yè)緩存方法匯總,包括了常見(jiàn)的html、asp、php與java,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • HTTP協(xié)議詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    HTTP協(xié)議詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了HTTP協(xié)議詳解,超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器
    2017-07-07
  • scratch-www 在Win10下的環(huán)境搭建詳細(xì)教程

    scratch-www 在Win10下的環(huán)境搭建詳細(xì)教程

    scratch-www是scratch-gui的網(wǎng)頁(yè)版,功能包括gui的編輯,保存,播放,和gui的作品展示,這里主要介紹scratch-www在window系統(tǒng)下的安裝和運(yùn)行,感興趣的朋友跟隨小編一起看看吧
    2021-08-08
  • git與svn的區(qū)別及優(yōu)缺點(diǎn)說(shuō)明

    git與svn的區(qū)別及優(yōu)缺點(diǎn)說(shuō)明

    Git和SVN都是版本控制系統(tǒng),用于代碼管理,SVN是集中式的,需要聯(lián)網(wǎng)并且中央服務(wù)器存在單點(diǎn)故障的風(fēng)險(xiǎn),Git是分布式的,每個(gè)終端都是一個(gè)完整的倉(cāng)庫(kù),不依賴中央服務(wù)器,提高了工作的靈活性和安全性,SVN易于管理權(quán)限,但必須聯(lián)網(wǎng)工作且更新提交可能面臨沖突
    2024-10-10
  • 不同系統(tǒng)打開(kāi)JSON文件的6種方法(總有一種適合你)

    不同系統(tǒng)打開(kāi)JSON文件的6種方法(總有一種適合你)

    JSON文件本質(zhì)上是一個(gè)文本文件,可以使用任何文本編輯器打開(kāi),本文推薦使用專門(mén)的代碼編輯器,這篇文章主要給大家介紹了關(guān)于不同系統(tǒng)打開(kāi)JSON文件的6種方法,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

舞阳县| 城固县| 莎车县| 乌兰察布市| 武宣县| 延川县| 天长市| 莱西市| 喀什市| 襄城县| 梨树县| 汽车| 尚义县| 色达县| 乐都县| 德兴市| 时尚| 类乌齐县| 贵州省| 读书| 六安市| 从江县| 招远市| 贵定县| 滁州市| 广平县| 孟州市| 罗田县| 揭东县| 石柱| 永年县| 桐梓县| 大邑县| 青阳县| 磐石市| 福清市| 屯留县| 剑河县| 南溪县| 鹤岗市| 顺昌县|