如何更改 git 子模块的 HEAD

Jyo*_*oha 8 git git-submodules

该项目有一个子模块并指向一个特定的 SHA(例如 62726c )。

所以每次运行git submodule update --init子模块目录时都会显示该 SHA (62726c )。

最近我对子模块进行了更改并推送了更改 SHA( f81611) 但如上所述,子模块的 HEAD 仍然指向旧的 SHA 62726c

Cha*_*esB 7

做的时候 git submodule update --init,您将子模块签出到项目注册的修订版中,该修订版尚未更新,这就是为什么您总是看到它已恢复。

要更改超级项目的子模块的修订版,请检查子模块到您想要的 SHA1:

git checkout f81611
Run Code Online (Sandbox Code Playgroud)

从主项目中,您将看到子模块被列为正在修改 ( git status)。你需要提交这个修改,就好像子模块是一个普通文件:

git add <path-to-submodule>
git commit -m "Update submodule XX so that it does YY"
Run Code Online (Sandbox Code Playgroud)