[英]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 超級項目的任何想法都指向它並確保文件已更新。 或者也許我錯過了一些明顯的東西。
但是如果我在服務器上打開更改的文件,它沒有更新以反映此提交中的更改。
不幸的是,這對我來說是一個愚蠢的錯誤。 當從不同的文件夾以編程方式執行 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.