git子模块指定版本

时间:2015-05-18 11:03:29

标签: git

我有git子模块。 我有.gitmodules个文件。

[submodule "templates-ui/src/main/webapp/js/app/ui"]
    path = templates-ui/src/main/webapp/js/app/ui
    url = git@github.com:xxx/ui-core.git

我做了initupdate

但是如何指定子模块的版本?例如,我可能将ui-core的版本设为2.3.22.3.3

1 个答案:

答案 0 :(得分:6)

git跟踪子模块作为普通对象。 这意味着,一旦添加了子模块,子模块的确切状态(例如修订版)也会存储在父模块中。

所以:

cd submodule
git checkout v2.3.2
cd -
git commit . -m "use submodule v2.3.2"

作为githandles子模块的副作用,你不能拥有一个“实时”子模块¹(你总是跟踪一个主分支的HEAD) - 一个子模块实际上总是在分离的州。

¹你可以;没有人通过在子模块中手动pull来阻止你跟踪子模块中的master / HEAD;但父模块将始终引用特定的提交。