git实现前后端分离项目提交同一个仓库

把前后端两个项目放进同一个 Git 仓库,核心就两步:先让它们变成同一个仓库下的两个子目录,再统一提交推送。最关键的坑是后端目录里残留的 .git 文件夹,不清掉的话 Git 会把前后端当成两个独立仓库,提交时永远只有前端。

推荐目录结构

把前后端放在一个总目录下,作为两个平级子目录:

复制代码
MyProject/
├── frontend/        前端代码(Vue/React 等)
├── backend/         后端代码(Spring Boot/Django 等)
├──.gitignore       忽略依赖和构建产物
└── README.md

这种结构对个人项目、课程设计和中小型项目最方便,一个仓库就能看全项目、统一管 Issue 和提交。

操作步骤

  1. 整理目录
  • 把前端和后端代码分别放进 frontend/backend/ 文件夹。
  • ⚠️ 重点:检查这两个文件夹里有没有隐藏的 .git 目录,如果有就直接删掉。这是最常见的坑,残留的 .git 会让 Git 认为后端是独立仓库。
  1. 初始化仓库

    在总目录 MyProject 下执行:

    bash 复制代码
    git init
  2. 配置.gitignore

    在根目录创建 .gitignore,至少忽略这些内容:

    bash 复制代码
    前端依赖和构建
    frontend/node_modules/
    frontend/dist/
    
    后端构建产物
    backend/target/
    backend/build/
    
    其他
    .env
    *.log

    ✅ 忽略的是依赖和构建结果,前后端源代码不会被忽略。

  3. 添加并提交

    bash 复制代码
    git add.
    git commit -m "init: 前后端项目合并提交"
  4. 关联远程仓库并推送

    bash 复制代码
    git remote add origin https://github.com/你的用户名/你的仓库名.git
    git push -u origin main 或 git push -u origin "master"

    如果远程仓库已经有文件(比如 README),需要先拉取合并:

    bash 复制代码
    git pull origin main --allow-unrelated-histories
    git push -u origin main

    --allow-unrelated-histories 用于合并两个没有共同历史的仓库,首次推送时经常需要。

常见问题排查

如果提交时只看到前端、后端一直不出现,按下面顺序检查:

  1. 删干净 .git:确认 backend/frontend/ 里没有 .git 文件夹,这是 90% 情况的原因。
  2. 检查 .gitignore:确认没有 backend/frontend/ 这样的整目录忽略规则。
  3. git status 确认:提交前先看 git status,应该能看到前后端所有文件都被追踪,而不是只有前端。

另一种思路:用孤儿分支隔离

如果想让前后端代码在同一个仓库但提交历史完全隔离,可以用 git checkout --orphan 创建孤儿分支。每个分支有独立的提交历史,互不影响。

但这属于进阶玩法,适合对 Git 比较熟悉的场景;日常用前面说的子目录方案就足够了。

相关推荐
Mr.朱鹏1 小时前
Git 仓库同时推送到 Gitee 与 GitHub 配置指南
git·gitee·开源·github
7177772 小时前
GitHub 企业国产替代选型:Gitee 与主流平台对比及迁移要点
人工智能·gitee
71777714 小时前
中小团队 DevOps 平台选哪家:2026 年主流平台对比与 Gitee 本土化方案解析
人工智能·gitee
Flynt17 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
泡泡鱼(敲代码中)20 小时前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
横木沉1 天前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
为你学会写情书1 天前
Git 学习指南:从日常命令到多人协作与提交规范
git
7177771 天前
金融行业研发平台推荐:Gitee 与主流方案对比及选型指南
人工智能·gitee
东小黑1 天前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee