我怎样才能获得git clone --recursive A B来使用A中的子模块库?

时间:2012-03-29 19:37:44

标签: git git-submodules

似乎如果项目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 ..

有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

一切都是本地的?

cp -r A B

[回应评论]

如果A很脏,那么:

   (cd A; git stash)
   cp -r A B
   (cd B; git stash drop)
   (cd A; git stash apply)