尝试部署站点-部署失败错误

时间:2019-04-27 20:58:54

标签: git github deployment

我正在尝试部署我的网站并收到此错误:

2:49:12 PM: Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules
2:49:12 PM: Failing build: Failed to prepare repo
2:49:12 PM: failed during stage 'preparing repo': Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules

一切都已提交并推送到我的仓库中,我认为没有任何遗漏。关于可能出什么问题的任何线索?

编辑

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true

[remote "origin"]
  url = https://github.com/BlackrockDigital/startbootstrap-grayscale.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master

编辑2

usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]

3 个答案:

答案 0 :(得分:1)

您的存储库似乎使用了一个子模块。使用子模块时,存储库根目录中的.gitmodules文件中应存在该路径的条目,并且该文件中应具有URL的条目。如果缺少文件或正确的URL条目,则执行克隆时将无法签出子模块,因为Git不知道其他存储库在哪里。

作为参考,.gitmodules文件应如下所示:

[submodule "vim-fugitive"]
        path = vim/bundle/vim-fugitive
        url = https://github.com/tpope/vim-fugitive.git
[submodule "ctrlp"]
        path = vim/bundle/ctrlp
        url = https://github.com/kien/ctrlp.vim.git

path组件是存储库中的路径,而url组件是从中下载文件的位置。

有关子模块配置选项的更多详细信息,请参见git-config(1)手册页。

答案 1 :(得分:1)

我知道这个问题已经很久了。以防万一可能会有所帮助。 Netlify在社区支持中描述了此错误的原因,其底线是:“如果您有私有子模块,则需要授予构建系统访问您的私有子模块的权限”

基于Netlify对解决方案的描述,我执行了以下操作:

  1. 我从Netlify的项目设置中创建了一个部署密钥,并将其添加到 部署键下子模块的设置。
  2. 推送到在Netlify上开始构建的github后,我遇到了与问题中所述相同的错误。
  3. 我在https://github.com/user/repo中将git@github.com:user/repo更改为.gitmodules,然后再次推送,构建和部署都正常。

答案 2 :(得分:0)

您会从“ heroku logs --tail”那里得到什么? 我假设您删除了该应用并重新部署了?