Git

Git 分支管理

Git 分支管理是 Git 最强大、最核心的功能。掌握好分支,你就能轻松实现多人协作、功能并行开发、热修复、发布管理等高级玩法。

1. 核心概念(先搞清楚这几个名词)

名词含义常用命令查看
HEAD当前“你站在哪个位置”(指针)cat .git/HEAD
本地分支存在你电脑上的分支git branch
远程分支存在 GitHub/GitLab 上的分支(origin/main、origin/dev 等)git branch -r
远程跟踪分支本地记录的“远程分支最新位置”(origin/main、origin/feature-xxx 等)git branch -vv
上游分支(upstream)告诉你本地分支该 push/pull 到哪个远程分支git push -u 后自动设置

2. 常用分支命令速查表(直接复制粘贴用)

场景命令说明
查看所有本地分支git branch带 * 的是当前分支
查看本地+远程分支git branch -a红色的是远程分支
创建分支git branch 新分支名只创建,不切换
创建并切换分支(最常用)git switch -c 新分支名

git checkout -b 新分支名
一条命令搞定
切换分支git switch 分支名

git checkout 分支名
推送分支到远程(第一次)git push -u origin 分支名-u 记住上游,以后直接 git push/pull 就行
推送分支(已设置上游后)git push最爽的命令
拉取远程最新内容git pull
删除本地分支git branch -d 已合并的分支安全删除
强制删除本地分支git branch -D 未合并的分支
删除远程分支git push origin –delete 分支名

git push origin :分支名
两种写法都行
重命名当前分支git branch -m 新名字

3. 主流分支模型(公司真实在用的)

A. GitHub Flow(最简单、最推荐中小团队)

main(永远可发布)
   ↑
   └── feature/login
   └── feature/pay
   └── bugfix/header

规则:

  • main 分支永远稳定、可随时上线
  • 所有新功能、修复都在特性分支完成
  • 完成后直接开 Pull Request → 合并到 main → 删除特性分支

B. Git Flow(大公司传统经典模型)

main        → 正式发布版本
develop     → 正在开发的集成分支
feature/*   → 功能分支(从 develop 创建)
release/*   → 发布前测试分支
hotfix/*    → 线上紧急修复分支(从 main 创建)

常用命令(需要安装 git-flow 插件):

git flow init                 # 初始化
git flow feature start login  # 开始新功能
git flow feature finish login # 完成并合并到 develop
git flow release start 1.0.0  # 准备发布
git flow hotfix start bug123  # 紧急修复

注意:现在很多团队觉得 Git Flow 太重,已经改用更简单的 Trunk-Based 或 GitHub Flow。

4. 真实开发中每天都在用的分支流程(2025 年最主流做法)

# 1. 每天早上先更新 main
git switch main
git pull

# 2. 从最新的 main 创建特性分支
git switch -c feature/user-profile

# 3. 正常开发,多次小提交
git add .
git commit -m "添加用户头像上传"

# 4. 推送到远程(第一次带 -u)
git push -u origin feature/user-profile

# 5. 开发完成 → GitHub/GitLab 开 Pull Request
# 6. 别人 Review 通过 → 合并到 main(可选择 squash 合并)
# 7. 删除远程分支(合并时自动可选)
# 8. 本地同步删除
git fetch --prune   # 自动删除本地已不存在的远程分支跟踪

5. 高级但超实用技巧

技巧命令用途
保持历史干净(推荐)PR 合并时选 “Squash and merge”把整个分支压缩成 1 个 commit
临时切换分支藏起当前改动git stash → git switch xxx → git stash pop紧急修复时必备
把别人的分支拉到本地开发git fetch origin
git switch -c 本地名 origin/远程分支名
比如接手别人没写完的功能
同步远程删除了的分支git fetch –prune
或简写 git fetch -p
清理本地过期的 origin/xxx 记录
查看分支图(神器)git log –oneline –graph –all –decorate或装 tig、GitKraken、Sourcetree

6. 一张图记住 99% 的分支操作

main ───┐               ← 永远稳定
        ├─ feature/A ───┐
        ├─ feature/B ───┤──→ Squash → main
        └─ hotfix/xxx ──┘

掌握以上内容,你已经完全超越 90% 的开发者了!

需要我给你一份:

  • 彩色打印版 Git 分支管理速查表(PDF)
  • 公司级分支命名规范模板
  • GitHub PR 最佳实践清单

随时说一声,我立刻发给你!

分类: Git
文章已创建 2637

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部