如何克隆git存储库,以便它也克隆其子模块?
运行gitclone$REPO_URL只会创建空的子模块目录。
如何克隆git存储库,以便它也克隆其子模块?
运行gitclone$REPO_URL只会创建空的子模块目录。
当前回答
迟交的答复
// git CLONE INCLUDE-SUBMODULES ADDRESS DESTINATION-DIRECTORY
git clone --recursive https://USERNAME@bitbucket.org/USERNAME/REPO.git DESTINATION_DIR
正如我刚刚花了整整一个小时和一个朋友在一起闲逛:即使你有BitBucket的管理员权限,也要克隆原始存储库,并使用拥有回购的人的密码。发现你撞上了这个地雷陷阱,我很恼火:P
其他回答
克隆存储库时,可以使用--recursive标志。此参数强制git克隆存储库中所有已定义的子模块。
git clone --recursive git@repo.org:your_repo.git
克隆后,有时子模块分支可能会发生更改,因此在其之后运行以下命令:
git submodule foreach "git checkout master"
迟交的答复
// git CLONE INCLUDE-SUBMODULES ADDRESS DESTINATION-DIRECTORY
git clone --recursive https://USERNAME@bitbucket.org/USERNAME/REPO.git DESTINATION_DIR
正如我刚刚花了整整一个小时和一个朋友在一起闲逛:即使你有BitBucket的管理员权限,也要克隆原始存储库,并使用拥有回购的人的密码。发现你撞上了这个地雷陷阱,我很恼火:P
试试看:
git clone --recurse-submodules
假设您已经将子模块添加到父项目中,它会自动引入子模块数据。
[快速回答]
克隆父回购(包括一些子模块回购)后,请执行以下操作:
git submodule update --init --recursive
试试这个。
git clone -b <branch_name> --recursive <remote> <directory>
如果在分支中添加了子模块,请确保将其添加到clone命令中。