更新从本地源克隆的Git存储库的子模块

ryoqjall  于 2022-12-21  发布在  Git
关注(0)|答案(1)|浏览(165)

我一直试图从Copier制作的模板渲染项目,其中包含一个子模块converter,但遇到了以下问题:

Submodule 'converter' (/template_path/converter.git) registered for path 'converter'
fatal: repository '/template_path/converter.git' does not exist
fatal: clone of '/template_path/converter.git' into submodule path '/tmp/copier.vcs.clone.4y5n3ykb/converter' failed

其中/template_path/表示到具有模板的本地存储库的路径。
我复制了一个带有模板的本地版本的仓库到另一个本地目录,并使用以下命令更新子模块:
git submodule update --checkout --init --recursive --force,这正是Copier所称的。
原始和克隆repos中的.gitmodules文件均包含以下路径和url:

[submodule "converter"]
    path = converter
    url = ../converter.git

原始本地存储库中的Config文件包含converter子模块远程存储库的有效url,但在克隆的存储库中,它具有本地路径/template_path/converter.git
我该怎么补救呢?

ckocjqey

ckocjqey1#

url = ../converter.git意味着与当前项目存储库一起克隆的bare repositoryconverter.git
如果您没有本地克隆该仓库(裸),那么您需要更新子模块仓库URL(using git submodule set-url),以便引用外部(非本地)仓库(来自GitHub、GitLab或任何其他公共仓库托管服务)。

相关问题