repo克隆时清空Git子模块文件夹

jcu*_*bic 116 git version-control git-clone git-submodules

我在https://github.com/aikiframework/json上有一个回购.在我的本地副本上,我使用该命令添加了一个子模块

git submodule add git@github.com:jcubic/json-rpc.git json-rpc
Run Code Online (Sandbox Code Playgroud)

然后我做了一个提交和推送,更改出现在GitHub上(我可以点击它).但是当我克隆回购时

git clone https://github.com/aikiframework/json.git
Run Code Online (Sandbox Code Playgroud)

子模块文件夹json-rpc为空.

我在这里错过了什么?我忘记了什么吗?为什么那个文件夹是空的?

jcu*_*bic 177

好的,我发现它,需要--recursive在克隆回购时添加.

因此,clone命令最终为:

git clone https://github.com/aikiframework/json.git --recursive
Run Code Online (Sandbox Code Playgroud)

  • 是的.您可以使用`git submodule update --init`获取子模块,如果您已经克隆但忘记了`--recursive`. (202认同)
  • 如果你使用`git submodule update --init`你将不得不去每个仓库并做`git checkout master`否则你会得到错误`当你尝试时,你当前不在分支上``git pull`将其更新为更新版本. (8认同)
  • 刚刚面临开发分支上有子模块的问题,但尚未在主分支上.当您使用--recursive克隆git repo时,它将无法在主分支上找到子模块,您必须使用Ambers注释"git submodule update --init"来获取它以获得子模型. (3认同)