我如何获得git clone --recursive A B来使用A中的子模块存储库?

问题描述 投票:3回答:1

[似乎,如果项目A具有带有远程URL的子模块,则git clone --recursive A B坚持要从远程URL下拉每个子模块存储库的副本。有没有办法让git从A中的副本克隆子模块存储库,而不是从远程存储库中提取子模块存储库?

我想我可以做类似的事情:

git clone A B
cd A
git submodule --quiet foreach 'echo [submodule \"$path\"]\\n path = $path\\n url = $toplevel/$path ' > ../B/.gitmodules
cd ../B
git submodule sync
git submodule update --init --recursive
git checkout .gitmodules
cd ..

有更简单的方法吗?

git git-submodules
1个回答
1
投票

一切都是本地的?

cp -r A B

[回复评论]

如果A脏,则:

   (cd A; git stash)
   cp -r A B
   (cd B; git stash drop)
   (cd A; git stash apply)
© www.soinside.com 2019 - 2024. All rights reserved.