如何让git clone——递归A B使用A中的子模块存储库?
看起来,如果项目A有带有远程url的子模块,那么如何让git clone——递归A B使用A中的子模块存储库?,git,git-submodules,Git,Git Submodules,看起来,如果项目A有带有远程url的子模块,那么git clone--recursive A B坚持从远程url中提取每个子模块存储库的副本。有没有办法让git从中的副本克隆子模块存储库,而不是从远程存储库中提取 我想我可以这样做: git clone A B cd A git submodule --quiet foreach 'echo [submodule \"$path\"]\\n path = $path\\n url = $toplevel/$path ' > ../B/.gi
git clone--recursive A B
坚持从远程url中提取每个子模块存储库的副本。有没有办法让git从中的副本克隆子模块存储库,而不是从远程存储库中提取
我想我可以这样做:
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 ..
有没有更简单的方法?一切都是本地的
cp -r A B
[对评论的回应]
如果A是脏的,则:
(cd A; git stash)
cp -r A B
(cd B; git stash drop)
(cd A; git stash apply)
是的,这很好,但是如果存储库是脏的,它也会将本地更改复制到存储库。但是是的,如果A是干净的,那看起来是个好办法。