部署失败-添加子模块问题-使用Netlify

时间:2019-04-29 20:02:35

标签: github deployment git-submodules netlify

我正在尝试将网站部署到Netlify,当我尝试触发部署时,出现此错误:

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

我的Folder目录是我要部署的目录,这些是该目录中的内容。

LICENSE             node_modules
README.md           package-lock.json
css                 package.json
gulpfile.js         scss
img                 startbootstrap-grayscale
index.html          vendor
js

如您所见,错误指向startbootstrap-grayscale目录。

在该startbootstrap-grayscale目录中,您在上方看到的所有内容都在同一目录中。 (不知道我在那里做了什么)。如果我cd进入第二个startbootstrap-grayscale目录,则其中没有任何内容。

有人告诉我我需要git submodule add <my github name>,但是不确定要添加什么才能解决此问题。

git submodule add -f要求提供更多信息:

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] [--su mmary-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)

之前我在不同的项目中遇到过类似的问题。我的解决方案通常是解耦子模块并将代码移入我的代码库(或为此使用托管包)。

要使模块解耦,请进入子模块文件夹,删除.git文件夹,然后将文件添加到git存储库。在命令行上,我会这样:

// going into the submodule - might need to tweaked, depending on the exact path
cd startbootstrap-grayscale

// delete the git submodule
rm -rf .git

// going out of the directory
cd ..

// adding everything to git
git add .

通过这些步骤(以及可能对路径进行的细微调整),我已经能够为我解决此问题。

答案 1 :(得分:0)

我能够弄清楚,我需要通过使用{ "Version":"2012-10-17", "Statement":[ { "Sid":"AddPerm", "Effect":"Allow", "Principal": "*", "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::examplebucket/*"] } ] } 并推动更改来摆脱我的startbootstrap-grayscale文件夹。由于某种原因,我有太多相同类型的嵌套文件夹。

答案 2 :(得分:0)

完全核对我的git目录,然后重新开始一个新的git commit对我有用。不理想,但是我试图摆脱git子模块,但是它没有用。现在我的网站上线了! https://connorleech.info/

rm -rf .git
git init
git remote add origin YOUR_URL
git add .
git commit -m 'restart history'
git push origin master