Git 尝试使用备用hexo主题时未能在Netlify上部署网站

Git 尝试使用备用hexo主题时未能在Netlify上部署网站,git,hexo,netlify,Git,Hexo,Netlify,·在部署时尝试“git clone”会导致以下消息: 在“准备repo”阶段失败:签出子模块时出错:致命:在.gitmodules中找不到子模块路径“themes/ocean”的url ·尝试“git子模块添加”会导致以下情况: 在“生成站点”阶段失败:部署目录“public/”不存在 一个临时的解决方案似乎是删除主题中的.git文件夹,但是有更好的选择吗? 请注意,NETLIFY的CI会考虑任何具有的子目录。它中的GIT/< /COD>子目录是子模块,并尝试用 Git子模块更新< /C>命令更

·在部署时尝试“git clone”会导致以下消息:

在“准备repo”阶段失败:签出子模块时出错:致命:在.gitmodules中找不到子模块路径“themes/ocean”的url

·尝试“git子模块添加”会导致以下情况:

在“生成站点”阶段失败:部署目录“public/”不存在


一个临时的解决方案似乎是删除主题中的.git文件夹,但是有更好的选择吗?

请注意,NETLIFY的CI会考虑任何具有<代码>的子目录。它中的GIT/< /COD>子目录是子模块,并尝试用<代码> Git子模块更新< /C>命令更新它,如果您没有有意地配置子模块,那么这将失败(而只是
git clone
ing另一个repo到您的repo中,就像您可能做的那样)

假设您已经正确地设置了子模块(有关详细信息,请参阅),您可以尝试查看本地repo根文件夹的
.gitmodules
中引用的URL


如果您可以控制要在netlify上部署的repo,可以首先在本地克隆它,推送,然后部署新的更新repo。

当存储库使用从另一个存储库克隆的文件,但没有为其创建的源存储库的映射引用时,会发生这种情况。需要将映射添加到您正在使用的存储库根目录中的
.gitmodules
文件中

要创建映射引用,请在
.gitmodules
文件中输入以下内容:

[submodule "path_to_submodule"] 
  path = path_to_submodule 
  url = git://url-of-source/
其中
path_to_submodule
是存储库中使用子模块的实际路径(相对于根目录),而
url of source
是包含子模块文件的原始存储库的url

如果您希望从存储库中删除不需要的子模块,请在本地存储库中运行以下命令,然后将更改推送到远程存储库:

git rm --cached path_to_submodule
其中,
path\u to\u子模块
是子模块的路径

参考: