源本科技 | 码上会

Git 分支管理

2026/04/09
2
0

引言

在版本控制的协作开发中,分支是用于并行推进多个开发任务的核心机制。每条分支都是独立的代码版本线,互不干扰。 安装 Git 并初始化仓库后,系统会默认创建一条主干分支,即 master 分支(新版 Git 默认分支名为 main),是项目的核心版本线。

分支的核心价值

分支是 Git 最强大的特性之一,具备极高的实用性:

  • 支持多分支并行开发,不同功能、修复任务独立推进,大幅提升研发效率

  • 分支之间完全隔离,单个分支开发失败 / 废弃,不会影响其他分支和主版本

  • 适配团队协作模式,可区分功能分支、修复分支、发布分支,规范开发流程

  • 分支创建、切换、合并成本极低,轻量化设计是 Git 高效的核心原因

分支基础操作

分支的日常操作包含查看、创建、切换,是分支管理的基础命令。

查看分支

查看本地所有分支、当前所在分支以及最近提交信息,是最常用的校验命令。

# 查看所有本地分支 + 最近提交记录(推荐)
git branch -v
  • 在仓库中创建 demo3.txt 文件,添加到暂存区,再提交到本地库

image-BVzy.png
  • 查看分支

执行命令后,默认处于主分支 master,命令会展示当前分支的最近一次提交记录。


补充基础命令:

# 仅查看本地所有分支
git branch

创建分支

基于当前版本创建新的独立分支,分支数据与原分支完全隔离。

git branch 分支名称
  • 查看分支

命令结果中,* 符号标记的是当前所在的工作分支

切换分支

从当前分支切换到目标分支,工作区会自动更新为目标分支的代码版本。

# 经典切换分支命令
git checkout 分支名称

补充新版命令(Git 2.23+ 推荐,语义更清晰):

git switch 分支名称

分支冲突

分支合并是协作开发的常规操作,当代码修改存在冲突时,Git 无法自动合并,需要手动解决。

环境准备

  • demo3.txt 文件中添加内容,并在 branch01 分支下执行 addcommit 操作

  • 切换到主分支,查看当前所在分支,并查看 demo3.txt 文件内容

  • 在主分支下向 demo3.txt 文件中添加内容,并执行 addcommit 操作

  • 再次切换到 branch01 分支下查看文件内容

核心说明:分支之间相互独立,修改操作互不影响。此时主分支的版本已经更新,与 branch01 分支的版本产生差异。

冲突演示

branch01 分支合并到主分支 master,合并命令如下:

# 合并指定分支到【当前所在分支】
git merge 分支名称
  • 切换到主分支

  • 执行分支合并命令

执行合并后,Git 提示合并失败,出现分支冲突

  • 查看 demo3.txt 文件内容

冲突触发条件

Git 分支冲突并非随机出现,仅满足以下条件时才会触发:

  • 多个分支修改同一个文件

  • 且修改了文件中的同一个位置 若多个分支修改不同文件,或同一文件的不同位置,Git 会自动完成合并,不会产生冲突。

解决冲突

Git 仅能识别冲突,无法自动解决冲突,需要开发者根据业务逻辑手动修改代码,确定最终保留内容。

标准解决流程

  1. 编辑冲突文件,删除 Git 自动生成的冲突标记(<<<<<<<=======>>>>>>>

  2. 保留业务需要的代码,删除无效代码

  3. 将修改后的文件重新添加到暂存区

  4. 执行提交操作,完成冲突解决

  • 修改文件,保留 master 分支的有效内容

  • 将工作区修改添加到暂存区

  • 执行提交操作(冲突合并后的提交,不能带分支名

执行完成后,分支冲突彻底解决,合并流程正式完成。


补充知识点

  1. 冲突标记含义

    <<<<<<< HEAD        # 当前所在分支的代码
    主分支的内容
    =======            # 分隔线
    分支的内容
    >>>>>>> branch01   # 被合并的分支代码
  2. 放弃合并 若不想解决冲突,可执行命令终止合并:

    git merge --abort