簡體   English   中英

當超級項目處於分離頭時更新 git 子模塊

[英]Update git submodules when superproject is in detached head

我正在嘗試以編程方式使用帶有子模塊的 Git 存儲庫。

只是為了澄清,這不是一個裸克隆,我正在使用遞歸模式進行完整克隆。

根據用戶在運行時使用 git recursive clone 給定的提交 SHA,主項目始終在分離的頭中檢出。

問題是子模塊由於某種原因沒有更新。 例如,在子模塊文件夾中使用git log ,我確實看到顯示了來自超級項目的提交,但文件尚未更新。

這是我使用的命令

git submodule update --init --recursive --force --merge

我也嘗試了默認checkout選項,但沒有用。 我如何保證將子模塊更新到提交 SHA 超級項目的任何想法都指向它並確保文件已更新。 或者也許我錯過了一些明顯的東西。

Git在本地登錄子模塊項目的倉庫在此處輸入圖片說明

Git登錄服務器在簽出的超級項目的子模塊文件夾中在此處輸入圖片說明

但是如果我在服務器上打開更改的文件,它沒有更新以反映此提交中的更改。

不幸的是,這對我來說是一個愚蠢的錯誤。 當從不同的文件夾以編程方式執行 submodules update 命令時,我沒有使用-C <path>選項,而是使用了不正確的--git-dir <path>選項。 因此子模塊從未更新,也沒有任何錯誤。

畢竟它與子模塊無關

命令錯誤

git --git-dir <PATH-TO-REPO-FOLDER>.git submodule update --init --recursive --force

更正的命令

git -C <PATH-TO-REPO-FOLDER> submodule update --init --recursive --force

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM