Skip to content

第10章:企业级实战(综合应用)

实战 3:多人协作项目(完整流程)

10.1 项目架构与分支规划(master、develop、feature 分支)

在企业级项目中,合理的分支管理策略至关重要。以下是一种常见的分支管理模型:

  • master/main 分支:主分支,用于存放稳定的生产代码,仅用于版本发布。
  • develop 分支:开发分支,集成所有功能开发完成的代码,作为下一个版本的候选分支。
  • feature 分支:功能分支,每个新功能或bug修复都在独立的feature分支上开发。
  • release 分支:发布分支,用于准备版本发布,进行最后的测试和修复。
  • hotfix 分支:热修复分支,用于紧急修复生产环境中的问题。

10.2 日常开发流程(拉取最新代码、开发、提交、推送)

  1. 拉取最新代码

    bash
    # 切换到develop分支
    git checkout develop
    # 拉取远程最新代码
    git pull origin develop
  2. 创建功能分支

    bash
    # 创建并切换到新的feature分支
    git checkout -b feature/new-feature
  3. 代码开发:在本地进行代码编写和修改。

  4. 提交代码

    bash
    # 添加修改的文件
    git add .
    # 提交代码,使用规范的提交信息
    git commit -m "feat: 添加新功能描述"
  5. 推送分支

    bash
    # 推送到远程仓库
    git push origin feature/new-feature
  6. 创建合并请求:在GitHub/Gitee上创建从feature分支到develop分支的合并请求。

  7. 代码审查:团队成员审查代码,提出修改建议。

  8. 合并代码:审查通过后,将feature分支合并到develop分支。

  9. 删除分支

    bash
    # 删除本地分支
    git branch -d feature/new-feature
    # 删除远程分支
    git push origin --delete feature/new-feature

10.3 合并冲突高频场景与解决方案

高频场景1:多人修改同一文件

解决方案

  1. 拉取最新代码时遇到冲突:

    bash
    git pull
    # 系统提示冲突文件
  2. 手动编辑冲突文件,解决冲突:

    • 找到冲突标记 <<<<<<< HEAD=======>>>>>>> branch-name
    • 保留需要的代码,删除冲突标记
  3. 提交冲突解决:

    bash
    git add .
    git commit -m "fix: 解决合并冲突"
    git push

高频场景2:分支合并时的冲突

解决方案

  1. 尝试合并分支:

    bash
    git checkout develop
    git merge feature/new-feature
    # 系统提示冲突
  2. 解决冲突(同上)

  3. 完成合并:

    bash
    git add .
    git commit -m "merge: 合并feature分支"
    git push origin develop

10.4 版本发布与标签管理(git tag 命令)

  1. 创建标签

    bash
    # 切换到要打标签的分支
    git checkout master
    # 创建带注释的标签
    git tag -a v1.0.0 -m "版本1.0.0发布"
    # 创建轻量标签
    git tag v1.0.0-light
  2. 查看标签

    bash
    # 列出所有标签
    git tag
    # 查看标签详情
    git show v1.0.0
  3. 推送标签

    bash
    # 推送单个标签
    git push origin v1.0.0
    # 推送所有标签
    git push origin --tags
  4. 删除标签

    bash
    # 删除本地标签
    git tag -d v1.0.0
    # 删除远程标签
    git push origin --delete v1.0.0

10.5 项目备份与异常恢复(实战场景)

场景1:本地仓库损坏

解决方案

  1. 从远程仓库重新克隆:

    bash
    git clone <远程仓库地> new-repo
    cd new-repo
  2. 恢复本地未提交的修改(如果有):

    • 从损坏的仓库复制未提交的文件到新仓库

场景2:远程仓库故障

解决方案

  1. 创建新的远程仓库

  2. 关联新的远程仓库:

    bash
    git remote set-url origin <新的远程仓库地>
    # 或者添加新的远程仓库
    git remote add new-origin <新的远程仓库地>
  3. 推送所有分支和标签:

    bash
    git push new-origin --all
    git push new-origin --tags

场景3:误删除分支

解决方案

  1. 查找被删除分支的最后一次提交:

    bash
    git reflog
  2. 恢复分支:

    bash
    git checkout -b <分支> <提交哈希>

通过以上企业级实战案例,你可以掌握Git在团队协作中的完整流程和常见问题的解决方法,为实际工作做好准备。

© 2026 编程马·菜鸟教程 版权所有