Git 子模塊(Submodule)的使用

什么是Git 子模塊

開(kāi)發(fā)中我們可能會(huì)遇到:某個(gè)工作中的項(xiàng)目需要包含并使用另一個(gè)項(xiàng)目。 可能是第三方庫(kù),也可能是獨(dú)立的,復(fù)用于多個(gè)父項(xiàng)目的庫(kù)。 那么問(wèn)題來(lái)了:你想在一個(gè)項(xiàng)目中使用另一個(gè),同時(shí)又想保持兩個(gè)項(xiàng)目的相互獨(dú)立。使用Git 自帶的子模塊功能就可以解決這個(gè)問(wèn)題。

子模塊的使用命令

創(chuàng)建子倉(cāng)庫(kù)

先進(jìn)入父?jìng)}庫(kù)目錄下,然后執(zhí)行命令:

git submodule add <倉(cāng)庫(kù)地址> <本地路徑>

<本地路徑>是可選項(xiàng),默認(rèn)情況下,子模塊會(huì)在當(dāng)前目錄下面,將子項(xiàng)目放到一個(gè)與倉(cāng)庫(kù)同名的目錄中。如果指定了本地路徑,則會(huì)把子項(xiàng)目放在指定的本地路徑下。
執(zhí)行上面命令后,在父?jìng)}庫(kù)根目錄增加了.gitmodule文件。

[submodule  倉(cāng)庫(kù)名稱(chēng)]
    path = 倉(cāng)庫(kù)名稱(chēng)(或指定的本地路徑)
    url = 倉(cāng)庫(kù)地址

clone 帶有子倉(cāng)庫(kù)的git項(xiàng)目

git clone 帶有子倉(cāng)庫(kù)的git倉(cāng)庫(kù)地址

這個(gè)命令并不會(huì)clone下子倉(cāng)庫(kù)的文件,只是會(huì)克隆下.gitmodule描述文件,需要執(zhí)行下面的命令拉取子倉(cāng)庫(kù)文件。

// 初始化本地子項(xiàng)目配置
$ git submodule init

// 拉取子倉(cāng)庫(kù)文件
$ git submodule update

或者使用組合指令:

git submodule update --init --recursive

子倉(cāng)庫(kù)代碼的修改和更新

如果在本地修改子倉(cāng)庫(kù),在主倉(cāng)庫(kù)執(zhí)行g(shù)it status,會(huì)顯示子倉(cāng)庫(kù)有修改。需要先在子倉(cāng)庫(kù)提交,然后再到主倉(cāng)庫(kù)提交代碼。
由于父?jìng)}庫(kù)和子倉(cāng)庫(kù)是兩個(gè)獨(dú)立的git倉(cāng)庫(kù),所以最好在子倉(cāng)庫(kù)的開(kāi)發(fā)中單獨(dú)進(jìn)行g(shù)it相關(guān)操作,在父?jìng)}庫(kù)不對(duì)子倉(cāng)庫(kù)文件做修改,只進(jìn)行子倉(cāng)庫(kù)代碼的拉取,并把修改提交上去。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶(hù)端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來(lái)...
    sunnyghx閱讀 4,152評(píng)論 0 11
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,813評(píng)論 4 54
  • 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git c...
    LOVE_晴天閱讀 2,405評(píng)論 0 10
  • 1,查看所有遠(yuǎn)程分支:%git branch -r 2, 拉取遠(yuǎn)程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,186評(píng)論 0 18
  • 上周五單位全體師生外出研學(xué),跟著跑著喊著整整一天,真是累得筋疲力盡。晚飯后很快就睡著了,老公也不知道咋回事他也...
    大愛(ài)無(wú)疆zgh閱讀 403評(píng)論 1 5

友情鏈接更多精彩內(nèi)容