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

git clone 子模塊沒下載全的問題解決

 2020-11-13 13:44  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

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

這篇文章主要介紹了git clone 子模塊沒下載全的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

1. 下載一個(gè)包含很多子模塊的工程

例如:git clone --recursive https://github.com/caffe2/caffe2

如果網(wǎng)絡(luò)不好或者其他原因?qū)е伦幽K沒有下載完全,這時(shí)用git pull是無法下載完全的。

注:這是在英文環(huán)境中執(zhí)行的結(jié)果,英文Submodule在中文環(huán)境中翻譯為“子模組”了。

從log中可以看出,有很多子模塊(為節(jié)省篇幅,完整log略,可以自行下載測(cè)試)。

$ git clone --recursive https://github.com/caffe2/caffe2
Cloning into 'caffe2'...
remote: Counting objects: 36771, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 36771 (delta 6), reused 7 (delta 5), pack-reused 36754
Receiving objects: 100% (36771/36771), 149.13 MiB | 2.76 MiB/s, done.
Resolving deltas: 100% (26926/26926), done.


(這里只以子模塊protobuf為例,其他子模塊略)
Submodule 'third_party/protobuf' (https://github.com/google/protobuf.git) registered for path 'third_party/protobuf'
(略)
Cloning into 'third_party/protobuf'...
remote: Counting objects: 47717, done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 47717 (delta 23), reused 23 (delta 5), pack-reused 47657
Receiving objects: 100% (47717/47717), 40.97 MiB | 59.00 KiB/s, done.
Resolving deltas: 100% (32097/32097), done.
Checking connectivity... done.
Submodule path 'third_party/protobuf': checked out 'a428e42072765993ff674fda72863c9f1aa2d268'
(略)

2. 下載子模塊

git submodule update --init --recursive1

如果你不確定子模塊是否都已經(jīng)下載完全了,也可以執(zhí)行一遍這個(gè)命令確認(rèn)一下。

3. 參考 git clone --help

git 2.7.4版本:

--recursive, --recurse-submodules
After the clone is created, initialize all submodules within, using their default settings. This is equivalent to running git submodule
update --init --recursive immediately after the clone is finished. This option is ignored if the cloned repository does not have a
worktree/checkout (i.e. if any of --no-checkout/-n, --bare, or --mirror is given)

git 2.14.1版本:

--recurse-submodules[=<pathspec]
After the clone is created, initialize and clone submodules within based on the provided pathspec. If
no pathspec is provided, all submodules are initialized and cloned. Submodules are initialized and
cloned using their default settings. The resulting clone has submodule.active set to the provided
pathspec, or "." (meaning all submodules) if no pathspec is provided. This is equivalent to running git
submodule update --init --recursive immediately after the clone is finished. This option is ignored if
the cloned repository does not have a worktree/checkout (i.e. if any of --no-checkout/-n, --bare, or
--mirror is given)

到此這篇關(guān)于git clone 子模塊沒下載全的問題解決的文章就介紹到這了,更多相關(guān)git clone 子模塊沒下載全內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

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

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

相關(guān)標(biāo)簽
git使用的基本流程

相關(guān)文章

熱門排行

信息推薦