Github Git Submodule遞歸下載


最近需要下載rCore源代碼進行學習,在下載的過程中,遇到Git倉庫中的Submodule遞歸下載失敗的問題。本文將記錄如何解決此問題。
此處以rCore倉庫作為示例進行演示:

(1) 使用鏡像網站下載rCore:

# git clone https://github.com/rcore-os/rCore.git
# 在原下載網址后添加cnpmjs.org地址,轉為從鏡像網站下載
git clone https://github.com.cnpmjs.org/rcore-os/rCore.git

(2)修改submodule配置

進入下載后的rCore文件夾,可見文件目錄如下所示:

打開.gitmodules文件,修改文件中的url為鏡像網站地址,修改后如下所示:

(3)同步Submodule變更

git submodule sync

# 執行結果如下所示
# Synchronizing submodule url for 'rboot'
# Synchronizing submodule url for 'user'

(4)更新Submodule配置

此處需要注意,不要執行git submodule update --init --recursive命令。在Submodule中包含Submodule的情況下,遞歸下載很有可能會繼續失敗。此時執行git submodule update --init即可。

(5) 處理Submodule嵌套場景

在rCore/user文件夾下,嵌套有子Submodule,需要繼續更新.gitmodules文件。改動效果如下所示:

(6) 繼續同步Submodule

執行命令如下所示:

如果實際項目中嵌套層級更深,請不斷執行(4)(5)(6)步驟。

至此,即完成rCore項目的Git Submodule文件遞歸下載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM