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

问题描述 投票:0回答:1

我正在学习 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' already exists in the index
当我尝试“

git push

”时,我得到:

“至

https://github.com/phershbe/nodeandreactwithdatabase.git! [已拒绝] main -> main(先获取)错误:推送失败 一些参考 'https://github.com/phershbe/nodeandreactwithdatabase.git' 提示: 更新被拒绝,因为远程包含您所做的工作 提示:本地没有。这通常是由另一个存储库引起的 推送提示:到同一个参考。您可能想首先集成 远程更改提示:(例如,“git pull ...”)再次推送之前。 提示:请参阅“git push --help”中的“有关快进的注释” 详情。”

我显然很困惑并且迷失在这里。 我如何从一开始就将“

frontend

”存储库作为文件夹逐步放入“
nodeandreactwithdatabase
”存储库中?

node.js reactjs git github mern
1个回答
1
投票
“‘前端’已存在于索引中”

然后将其删除:

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

git submodule add

就有机会工作了。

最后,如果有必要的话,推送或强制推送(

git push --force

),因为你是唯一在该存储库上工作的工作人员。

© www.soinside.com 2019 - 2024. All rights reserved.