前言:为什么分支如此重要?
在现代软件开发中,分支(Branch) 是 Git 最强大的特性之一。想象一下:
- 🚀 你可以在不影响主代码的情况下开发新功能
- 🐛 你可以独立修复紧急 Bug
- 🧪 你可以安全地尝试实验性想法
- 👥 团队成员可以并行工作而不互相干扰
这一切都归功于 git branch 命令。本文将带你从零开始,全面掌握 Git 分支管理的核心技能。
一、分支的本质:理解 Git 分支模型
在深入命令之前,先理解分支的本质:
┌─────────────────────────────────────────────────┐
│ Git 分支 = 指向提交的轻量级指针 │
│ │
│ main ──→ ● ──→ ● ──→ ● (最新提交) │
│ ↘ │
│ feature ──→ ● ──→ ● (独立开发线) │
└─────────────────────────────────────────────────┘
关键概念:
- 分支只是一个指向特定提交的指针
- 创建分支几乎零成本(只创建指针,不复制文件)
HEAD指针指向当前所在的分支
二、git branch 基础命令详解
2.1 查看分支
# 查看本地所有分支
git branch
# 查看当前分支(带*标记)
# * main
# feature-login
# bugfix-123
输出说明:
*表示当前所在分支- 绿色分支表示已与远程同步
- 红色分支表示与远程有差异
# 查看所有分支(包括远程)
git branch -a
# 仅查看远程分支
git branch -r
# 查看分支详细信息(含最后提交)
git branch -v
# 查看分支的上下游关系
git branch -vv
2.2 创建分支
# 基于当前提交创建新分支
git branch feature-user-auth
# 基于特定提交创建分支
git branch hotfix-001 abc1234
# 基于远程分支创建本地分支
git branch feature-x origin/feature-x
⚠️ 注意:git branch 只创建分支,不会切换到新分支!
2.3 切换分支
# 传统方式(Git 2.23 之前)
git checkout feature-user-auth
git switch feature-user-auth

