关于如何在 Git 中添加子模块的困惑

Confusion about how to add submodule in Git

我正在学习 MERN 堆栈,并设法制作了一个至少连接所有内容的简单应用程序。我有一个 Node 的主目录,其中有一个名为“frontend”的文件夹,我的 React 代码就在其中。当我尝试使用 Git 以常规方式将其上传到 Github 时,它使“前端”文件成为一种我无法点击甚至无法点击的文件夹弄清楚如何删除。

无论如何,我做了一些研究并了解了子模块。我也尝试按照此处的各种教程和帖子来获得我想要的结果,但没有成功。我想要的是让 GitHub 存储库让我的所有文件在我 运行 本地主机上的程序时以与它们在我的计算机上相同的方式显示,我猜这是上传内容的目标几乎每次都到 GitHub。

存储库如下:
https://github.com/phershbe/nodeandreactwithdatabase
https://github.com/phershbe/frontend

“nodeandreactwithdatabase”是我的应用程序,但是当我在我的计算机上构建它时,它有一个名为“frontend”的文件夹,其中包含 React 代码。我希望“前端”存储库成为“nodeandreactwithdatabase”存储库顶层的文件夹。显然这不应该那么难,并且有一些资源在谈论它,但我还没能让它工作。

我已经尝试克隆子模块。我现在所在的位置是,当我尝试“git submodule add https://github.com/phershbe/frontend.git" 我得到:
“'frontend' 已存在于索引中”
当我尝试“git push”时,我得到:
“至 https://github.com/phershbe/nodeandreactwithdatabase.git ! [rejected] main -> main(先获取) 错误:无法将某些引用推送到 'https://github.com/phershbe/nodeandreactwithdatabase.git' 提示:更新被拒绝,因为远程包含您所做的工作 提示:本地没有。这通常是由另一个存储库推送引起的 提示:相同的参考。您可能希望首先集成远程更改 提示:(例如,'git pull ...')再次推动之前。 提示:有关详细信息,请参阅 'git push --help' 中的 'Note about fast-forwards'。“

我显然很困惑,迷失在这里。我如何从头开始一步步将“前端”存储库作为文件夹放入“nodeandreactwithdatabase”存储库?

"'frontend' already exists in the index"

然后删除它:

git rm -r fontend
git commit -m "remove local frontend"

然后git submodule add有机会工作

最后,如果必须的话,推送或强制推送 (git push --force),因为您是唯一在该存储库上工作的 oe。