如何在github上将客户端和服务器端项目文件夹作为一个项目(api +前端)一起推送?
Posted
技术标签:
【中文标题】如何在github上将客户端和服务器端项目文件夹作为一个项目(api +前端)一起推送?【英文标题】:How to push both the client side and server side project folders together as a one project (api + front end) on github? 【发布时间】:2021-04-02 20:50:22 【问题描述】:我已经完成了我的项目。
我的堆栈:
Front-End UI => Reactjs
Back-End => Nodejs/Expressjs + MongoDB
下面是我的project structure
,包含两个文件夹:
project_Name > client + server
project_Name
是主文件夹
client
和 server
是单独的文件夹,它们都在 project_Name
文件夹内。
在client
和server
文件夹中,我安装了各自的npm modules (reactjs + nodejs)
我的API end point
正在localhost:8000
上运行
和reactjs
localhost:5000
所以现在我想将我的项目添加到github
存储库。
我很困惑如何实现这一目标?
我需要将客户端和服务器端代码推送到不同的 2 个不同的 git 上吗?
或者
我只需要上传包含两个项目文件的project_Name
文件夹吗?
但是是这样的话,我该怎么做呢?
因为在推送到git
之前,该目录应该有package.json
文件和node_modules
,它们只会在client
和server
侧文件夹中。
这些是用于推送我正在使用的项目的git
命令:
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/vik.........git
git push -u origin main
但我不知道我必须先在哪个文件夹中启动repository
?
请让我知道解决方案。
谢谢!
【问题讨论】:
您在将其置于版本控制之下之前完成了该项目?那真是个坏主意。但是 git 不太关心您正在跟踪的确切文件和文件夹(并且您通常会忽略 repo 中的 node_modules),因此您是否要为此维护一个或两个 repos 取决于您。 告诉我如何用一个文件夹实现这一目标? ...在一个文件夹中运行您的问题中的这些命令? 【参考方案1】:如果您创建的项目有自己的文件夹,那么您需要做的是:
根文件夹:项目 。/客户 ./服务器
-
从根文件夹启动 .git。
git 添加。 (然后添加所有文件)
git commit... 等等。如果您需要任何帮助,请随时发表评论!
它会一次性添加所有文件,所以不用担心,它不会推送任何空文件夹。
在某些情况下,create-react-app 会自行创建一个 git 存储库。 在您的文件资源管理器中查找隐藏文件,并确保在推送您的内容之前删除您客户端中的 .git 文件夹,这会引发错误。
在你的主文件夹上运行 NPM install,它会为你创建一个 package.json。 尽量不要想那么多,慢慢来。
希望这会有所帮助!
【讨论】:
【参考方案2】:我认为你应该使用这个结构:
-projectName: folder
- frontend: folder
- package.json
- backend: folder
- package.json
- package.json
要执行应用程序,您可以使用 github 操作:
https://docs.github.com/en/free-pro-team@latest/actions
https://github.com/features/actions
或
您也可以使用 heroku 或 firebase 之类的服务,请参阅我的项目(这只是一个解决您所要求的问题的简单项目)
https://github.com/simCecca/InformationVisualizationWorldWide
结构是:
-projectName: folder
- frontend: folder
- package.json
backend code
package.json // containing the BE dependencies and the dependencies for the
deploy in heroku in this case
https://dashboard.heroku.com/
希望我回答了你的问题,如果没有,请回复此回答
【讨论】:
我想要这个结构第一个:-projectName: 文件夹 - 前端:文件夹 - package.json - 后端:文件夹 - package.json - package.json 但是现在如何为项目主文件夹再开发一个 package.json 文件呢?我在客户端和服务器文件夹中有各自项目文件夹的 package.json。【参考方案3】:我通过在根文件夹(与客户端和服务器处于同一级别)中添加 .gitignore 文件解决了这个问题,并在该行中添加:node_modules/
这将忽略客户端和服务器的 node_modules。
之后初始化 git:
-
Git 初始化
git 添加。
git commit -m '提交信息'
git push -u origin master
现在您可以访问 GitHub 存储库并确认不再有 node_modules 文件夹
【讨论】:
以上是关于如何在github上将客户端和服务器端项目文件夹作为一个项目(api +前端)一起推送?的主要内容,如果未能解决你的问题,请参考以下文章