我正在开发一个GIT存储库(此处称为A
)。它包括一个子模块(这里称为B
)。通过
A
的新副本时
git clone --recursive <repository url for A>
克隆了 A
和B
,但B
的版本已过时!无论我如何通过
git submodule update
当我只克隆B
时,它是最新的。
有什么问题?我的git版本是git version 1.7.7.5 (Apple Git-26)
,我的存储库位于bitbucket
。
答案 0 :(得分:3)
在A中,cd
到dir,其中B是。
cd path/to/B/inside/A
现在,您可以在{。
中checkout
进行任何提交
git checkout <branch or commit>
(您可能需要fetch
/ pull
checkout
之前的最新更改。)
现在回到A的根目录,并提交更改。
cd -
git add path/to/B/inside/A
git commit -m "Update submodule B pointer."
从现在开始,git clone
或git submodule update
将提交checkout
。
请注意,B独立于A,因此B可以在分支方面具有任何状态,但作为A的子模块,它将指向A想要的提交。这允许独立开发两个回购。