濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 詳解git submodule update獲取不到最新提交的代碼

詳解git submodule update獲取不到最新提交的代碼

熱門(mén)標(biāo)簽:海南人工外呼系統(tǒng)哪家好 高德地圖標(biāo)注公司位置需要錢(qián)嗎 地圖標(biāo)注資源分享注冊(cè) 合肥阿里辦理400電話號(hào) 廊坊地圖標(biāo)注申請(qǐng)入口 慶陽(yáng)外呼系統(tǒng)定制開(kāi)發(fā) 北京外呼系統(tǒng)咨詢電話 襄陽(yáng)外呼增值業(yè)務(wù)線路解決方案 怎么去掉地圖標(biāo)注文字

今天遇到了一個(gè)git submodule update獲取不到最新代碼的問(wèn)題,鬧了半天原來(lái)是自己對(duì)git submodule理解不到位引起的。解決了后,感覺(jué)雖然沒(méi)有什么高深的地方,但是不清楚的時(shí)候還是需要費(fèi)時(shí)間去查找問(wèn)題,所以還是在此記錄如下。

1.問(wèn)題描述

同事在共同使用的一個(gè)工程里修改了代碼,這個(gè)工程在我本地的工程中是作為submodule來(lái)使用的,但是我在本地執(zhí)行以下命令卻獲取不到最新提交的代碼。

git submodule update --init --recursive

2.問(wèn)題原因

git submodule在工程中維護(hù)了一個(gè)文件.gitmodules文件,里邊記錄了子工程在當(dāng)前父工程下的存放路徑path和子工程的git路徑url。同時(shí),在父工程下的.git目錄中,還有個(gè)modules子目錄如下所示。

在這個(gè)modules中存放的就是父工程相關(guān)的子工程的路徑。進(jìn)入子工程后,可以看到里邊有個(gè)叫做FETCH_HEAD的文件:

查看該文件的內(nèi)容如下:

zhuwsh@zhuwsh-TM1705:~/work_space/autonomousDriving/.git/modules/src/utils/dw_xxx_center$ cat FETCH_HEAD

31ecb3458596f22134588460eefb9efa4bd6df23 branch 'master' of https://gitlab.xxx.com/xxx/dw_xxx_center

此時(shí)可以發(fā)現(xiàn),這里的commit id和git上最新提交的commitid不一樣,這里的commit id還是之前某一次的提交id。

這個(gè)其實(shí)要說(shuō)明的是,git submodule update獲取代碼的時(shí)候是和子工程的git路徑和這里的commit id有關(guān)聯(lián)的,獲取的就是對(duì)應(yīng)的git路徑下截止這個(gè)commit id的所有代碼,之后的代碼是不會(huì)獲取到的。

明白了這個(gè)原理后,就知道怎么來(lái)修改了。

3.解決方法

既然git遠(yuǎn)端服務(wù)器代碼已經(jīng)修改過(guò)了,那么本地每次執(zhí)行了git submodule update --init --recursive命令后自然需要在自工程對(duì)應(yīng)的路徑下執(zhí)行g(shù)it pull命令,執(zhí)行完后服務(wù)器端的最新代碼就更新到本地了。這個(gè)操作做完后再執(zhí)行g(shù)it submodule update命令,此時(shí)就可以看到上邊說(shuō)的FETCH_HEAD文件中的commit id發(fā)生了變化,已經(jīng)變?yōu)楫?dāng)前最新的commit id了。

zhuwsh@zhuwsh-TM1705:~/work_space/autonomousDriving/.git/modules/src/utils/dw_xxx_center$ cat FETCH_HEAD

ab214ead574d51755f4faabad4045de6486b49c2 branch 'master' of https://gitlab.xxx.com/xxx/dw_xxx_center

總結(jié)一下就是,在使用git submodule update --init --recursive獲取了自工程代碼后,還需要執(zhí)行下面兩條命令:

git pull
git submodule update

到此這篇關(guān)于詳解git submodule update獲取不到最新提交的代碼的文章就介紹到這了,更多相關(guān)git submodule update最新提交內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Git Submodule管理項(xiàng)目子模塊的使用
  • 詳解git submodule使用以及注意事項(xiàng)
  • git中submodule子模塊的添加、使用和刪除的示例代碼
  • Git Submodule使用完整教程(小結(jié))

標(biāo)簽:綿陽(yáng) 平頂山 鶴崗 商丘 臺(tái)州 哈密 鎮(zhèn)江 株洲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解git submodule update獲取不到最新提交的代碼》,本文關(guān)鍵詞  詳解,git,submodule,update,獲取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解git submodule update獲取不到最新提交的代碼》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解git submodule update獲取不到最新提交的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    庆城县| 沧源| 都江堰市| 缙云县| 东至县| 太康县| 周宁县| 肇州县| 左权县| 新源县| 婺源县| 汉寿县| 鄂尔多斯市| 井陉县| 沂南县| 阳谷县| 大埔县| 和硕县| 诸暨市| 武胜县| 油尖旺区| 龙泉市| 遂平县| 揭西县| 宝丰县| 德江县| 宁南县| 宝鸡市| 紫金县| 高密市| 梨树县| 余姚市| 黔西| 沁阳市| 如皋市| 边坝县| 张家港市| 敦煌市| 磴口县| 江北区| 富顺县|