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

时间:2016-05-25 12:55:22

标签: git

为什么会这样?

git clone --mirror [repo-url]

git clone --mirror --recursive [repo-url]

不适用于子模块。尝试git fetch --recurse-submodules会出错

fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository

但是排除--mirror可行。

因此,如果使用--mirror选项克隆了存储库,则无法将子模块置于其中,除非在没有--mirror的情况下克隆存储库。

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

fatal: Not a git repository (or any of the parent directories): .git

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

fatal: /usr/libexec/git-core/git-submodule cannot be used without a working tree.

使用GIT_WORK_TREE和/或GIT_DIR环境变量也不起作用。

是否只能从头开始克隆存储库?

编辑:顺便说一句,首先--mirror的原因是因为我跟着这个:http://jonathannicol.com/blog/2013/11/19/automated-git-deployments-from-bitbucket/

1 个答案:

答案 0 :(得分:1)

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

更多: