回购结帐未获取 git 子模块

Lar*_*y K 5 git git-submodules

我是一个 git 新手。我的 git 存储库包含子模块引用。我有一个接收后钩子可以将存储库内容检出到我的网络目录中:

#!/bin/sh
GIT_WORK_TREE=/home/www/hello_world_php git checkout -f
Run Code Online (Sandbox Code Playgroud)

(根据这篇博文。)

它工作正常,只是 www 目录中的子模块目录未填充。

怎么修?

Von*_*onC 8

对于克隆的存储库,当我发现 中没有任何内容时.git/modules/xxx,我会执行以下操作:

git submodule update --init --recursive
Run Code Online (Sandbox Code Playgroud)

请参阅我的脚本作为示例

如果不这样做,您所拥有的只是一个代表子模块根的空目录,并作为特殊条目存储在工作树中(模式 160000)。