Git clone--子模块不工作的镜像

Git clone--子模块不工作的镜像,git,Git,为什么会这样 git克隆——镜像[repo url] 或 git克隆--镜像--递归[repo url] 无法与子模块一起使用。试图git fetch--recurse submodules会出现错误 致命:拒绝获取非裸存储库的当前分支refs/heads/master 排除--镜像,但确实有效 因此,如果使用--mirror选项克隆了存储库,则无法将子模块引入,除非在不使用--mirror的情况下克隆存储库 从工作副本运行git子模块update--init--recursive会显示错误消息

为什么会这样

git克隆——镜像[repo url]

git克隆--镜像--递归[repo url]

无法与子模块一起使用。试图
git fetch--recurse submodules
会出现错误

致命:拒绝获取非裸存储库的当前分支refs/heads/master

排除<代码>--镜像,但确实有效

因此,如果使用
--mirror
选项克隆了存储库,则无法将子模块引入,除非在不使用
--mirror
的情况下克隆存储库

从工作副本运行
git子模块update--init--recursive
会显示错误消息:

致命:不是git存储库(或任何父目录):.git

从镜像存储库运行
git submodule init
,会显示以下错误消息:

fatal:/usr/libexec/git core/git子模块在没有工作树的情况下无法使用。

使用
GIT\u WORK\u TREE
和/或
GIT\u DIR
环境变量也不起作用

是从头开始重新克隆存储库的唯一选项吗


编辑:顺便说一下,
--mirror
的原因首先是因为我遵循了这一点:

使用
--mirror
标志创建的存储库是一个裸存储库(即,它没有工作区)。另外,子模块只能初始化并下载到工作区

更多:


创建存储库后,我将运行
cd~/.git git_WORK_TREE=/home//www git checkout-f production
,但仍然无法从工作区或repo目录获取子模块。奇怪的是,通过这种方式克隆存储库,以后无法获取子模块。当然有可能,我做错了什么?感谢您的帮助,通过您的链接,此解决方案对我有效: