该项目有一个子模块,并指向该子模块的一个特定 SHA(例如 62726c
)。
因此每次运行 git submodule update --init
时,子模块目录只显示该 SHA (62726c
) 的更改。
最近我对子模块进行了更改并推送了更改 SHA (f81611
),但如上所述,子模块的 HEAD 仍指向旧 SHA 62726c
。
最佳答案
当执行 git submodule update --init
时,您将子模块 check out 到项目注册的修订版,该修订版尚未更新,这就是为什么您总是看到它已恢复。
要更改 super 项目的子模块的修订版,请将子模块 checkout 到您想要的 SHA1:
git checkout f81611
在主项目中,您会看到子模块被列为正在修改 (git status
)。您需要提交此修改,就好像子模块是一个普通文件一样:
git add <path-to-submodule>
git commit -m "Update submodule XX so that it does YY"
关于git - 如何更改 git 子模块的 HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25240634/