如何在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 是主文件夹 clientserver 是单独的文件夹,它们都在 project_Name 文件夹内。 在clientserver 文件夹中,我安装了各自的npm modules (reactjs + nodejs)

我的API end point 正在localhost:8000 上运行 和reactjs localhost:5000

所以现在我想将我的项目添加到github 存储库。 我很困惑如何实现这一目标? 我需要将客户端和服务器端代码推送到不同的 2 个不同的 git 上吗?

或者

我只需要上传包含两个项目文件的project_Name 文件夹吗? 但是是这样的话,我该怎么做呢? 因为在推送到git 之前,该目录应该有package.json 文件和node_modules,它们只会在clientserver 侧文件夹中。

这些是用于推送我正在使用的项目的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 +前端)一起推送?的主要内容,如果未能解决你的问题,请参考以下文章

如何在客户端合并两个音频文件。 (甚至可能是服务器端)

在服务器或浏览器上将 JSX 转换为 JS?

在 Linux 上将 Java 应用程序作为服务运行

mac上将代码上传到github

客户端和服务端如何使用Token和Session

如何在 XCode 上将自定义文件扩展名导入 iOS 项目?