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

Deployment Failure - Adding submodule issues - Using 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>...]

关于添加什么来解决这个问题有什么建议吗?感谢任何帮助。

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

要解耦模块,请进入您的子模块文件夹,删除 .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 .

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

我想通了,我需要使用 rm -r startbootstrap-grayscale 删除我的 startbootstrap-grayscale 文件夹并推送更改。由于某种原因,我有太多相同类型的嵌套文件夹。

完全破坏我的 git 目录,然后重新开始一个新的 git 提交对我有用。不理想,但我试图摆脱 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