Git 分支管理速查表 — 创建、合并和管理分支
分支是 Git 最强大的功能。本指南覆盖从创建第一个分支到处理复杂的 merge 和 rebase——所有协作工作流的基础。
快速参考
| 场景 | 命令 |
| 列出本地分支 | git branch |
| 列出所有分支(含远程) | git branch -a |
| 创建并切换到新分支 | git checkout -b feature/login |
| 只创建(不切换) | git branch feature/login |
| 切换到已有分支 | git checkout main 或 git switch main |
| 重命名分支 | git branch -m 旧名 新名 |
| 删除已合并的分支 | git branch -d feature/done |
| 强制删除未合并的分支 | git branch -D feature/abandoned |
| 合并分支到当前分支 | git merge feature/login |
| 变基到另一个分支 | git rebase main |
核心命令详解
### 创建与切换分支
``bash
# 创建新分支(停留在当前分支)
git branch feature/new-widget
# 创建并立即切换 git checkout -b feature/new-widget
# 使用新的 git switch 命令 git switch -c feature/new-widget
# 切换到已有分支
git checkout main
git switch main # 新的替代命令
`
### 查看分支
`bash
# 只显示本地分支
git branch
# 所有分支(含远程跟踪分支) git branch -a
# 显示每个分支的最新提交 git branch -v
# 显示已合并的分支(可安全删除)
git branch --merged
`
### 合并(Merge)
`bash
# 标准合并(创建合并提交)
git checkout main
git merge feature/login
# 仅快进合并(不能快进则中止) git merge --ff-only feature/login
# 压合合并(将所有提交压成一个)
git merge --squash feature/login
`
### 变基(Rebase)
`bash
# 将当前分支变基到 main
git checkout feature/login
git rebase main
# 交互式变基(压缩、重排序、编辑提交) git rebase -i HEAD~3
# 中止变基(出问题时)
git rebase --abort
`
### 删除分支
`bash
# 删除已完全合并的分支
git branch -d feature/complete
# 强制删除(即使未合并) git branch -D feature/abandoned
# 删除远程分支 git push origin --delete feature/complete ``
分支管理(17)
| 命令 | 难度 | ||
|---|---|---|---|
git branch列出、创建或删除分支 | 基础 | git branch feature-login | |
git branch -d删除已合并的分支 | 基础 | git branch -d feature-login | |
git branch -D强制删除分支(无论是否已合并) | 基础 | git branch -D feature-login | |
git branch -a列出所有本地和远程分支 | 基础 | git branch -a | |
git branch -r列出远程分支 | 基础 | git branch -r | |
git branch --merged列出已合并到当前分支的分支 | 基础 | git branch --merged | |
git branch --no-merged列出未合并到当前分支的分支 | 基础 | git branch --no-merged | |
git branch --contains列出包含指定提交的分支 | 中级 | git branch --contains abc123 | |
git branch --show-current显示当前分支名称 | 基础 | git branch --show-current | |
git branch -m重命名分支 | 基础 | git branch -m old-name new-name | |
git branch --move重命名分支(长选项形式) | 基础 | git branch --move old-name new-name | |
git branch -vv显示分支的跟踪关系 | 中级 | git branch -vv | |
git branch --edit-description编辑分支描述 | 中级 | git branch --edit-description | |
git switch切换分支 | 基础 | git switch feature-login | |
git checkout -b创建并切换到新分支 | 基础 | git checkout -b feature-login | |
git merge合并两个或多个开发历史 | 中级 | git merge feature-login | |
git rebase在另一个分支基础之上重新应用提交 | 高级 | git rebase main |