You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Express后端与React前端项目同时上传至GitHub?

问题根因

React前端文件无法进入暂存区的核心原因是:前端目录本身是通过create-react-app等工具生成的独立项目,自带隐藏的.git文件夹。根目录初始化Git仓库后,会将内部自带.git的目录识别为未注册子模块,不会递归追踪目录下的普通文件,仅会将整个目录标记为特殊提交项,这也是你看到界面显示异常的核心原因。
前端目录内的.gitignore文件不需要删除,它的作用是过滤前端目录下的node_modules、构建产物、本地环境变量等不需要提交的文件,删除后反而会将大量无效文件提交到仓库。

解决步骤
  • 清理前端目录的独立Git痕迹
    打开React前端所在文件夹,开启系统隐藏文件显示,删除目录内的.git隐藏文件夹。如果使用命令行,在项目根目录cpp-queens下执行(将frontend替换为你实际的前端目录名):
    rm -rf ./frontend/.git
    
  • 检查根目录.gitignore配置
    打开根目录下的.gitignore文件,确认没有将整个前端目录加入忽略列表,可参考如下规则配置过滤项:
    # 后端过滤规则
    backend/node_modules
    backend/.env
    backend/*.log
    
    # 全局过滤规则
    **/node_modules
    **/.env
    **/.DS_Store
    **/dist
    **/build
    
    子目录自带的.gitignore会自动生效,不需要合并到根目录配置中。
  • 重置Git缓存重新追踪文件
    在根目录执行以下命令,清除之前错误的追踪缓存,重新扫描所有项目文件:
    git rm -r --cached .
    git add .
    
  • 验证暂存区内容
    执行git status查看待提交文件列表,此时前后端的业务代码文件都会正常出现在暂存区,不会再出现前端目录显示异常、文件缺失的问题。
  • 提交并推送到GitHub
    确认文件列表无误后,正常执行提交推送即可:
    git commit -m "chore: 整合前后端代码到同一仓库"
    git push
    
排查补充

如果完成以上操作后仍有部分前端文件未被追踪,检查前端目录下的.gitignore规则,确认没有误将src、public等需要提交的业务目录加入忽略列表,create-react-app、vite等工具生成的默认.gitignore规则可直接使用,无需额外修改。

内容的提问来源于stack exchange,提问作者Soccerball123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:36:24