我正在开发一个 GIT 存储库(A
在此处调用)。它包括一个子模块(B
这里称为)。A
克隆by的新副本时
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
.
我正在开发一个 GIT 存储库(A
在此处调用)。它包括一个子模块(B
这里称为)。A
克隆by的新副本时
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
.
在 A 内部时,cd
到 B 所在的目录。
cd path/to/B/inside/A
现在您可以checkout
在 A 中进行任何您想要的提交。
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 想要的提交。这允许独立开发两个存储库。