分支管理
#git
#branch
#merge
#分支
分支管理#
分支是 Git 最强大的功能之一,允许你在不影响主线的情况下进行并行开发。
创建与切换分支#
# ==================== 创建分支 ====================
# 创建新分支,但不切换到新分支
# 只是在当前提交上创建一个新的指针
git branch <branchname>
# 创建并切换到新分支
# 相当于 git branch <branchname> + git checkout <branchname>
git checkout -b <branchname>
# ==================== 切换分支 ====================
# 切换到指定分支
# 会将工作区文件更新为目标分支的状态
git checkout <branchname>
# ==================== 查看分支 ====================
# 查看所有本地分支,当前分支前有 * 符号标记
git branch
# 查看远程分支
git branch -r
# 查看所有分支(本地 + 远程)
git branch -a
✨ 技巧
分支命名规范
推荐使用有意义的分支名,便于理解分支用途:
| 前缀 | 用途 | 示例 |
|---|---|---|
feature/ | 新功能开发 | feature/user-login |
fix/ 或 bugfix/ | Bug 修复 | fix/login-error |
hotfix/ | 紧急修复 | hotfix/security-patch |
release/ | 发布准备 | release/v1.0.0 |
docs/ | 文档更新 | docs/api-guide |
合并分支#
将一个分支的更改合并到另一个分支。
# 第一步:切换到目标分支(要接收更改的分支)
git checkout <目标分支>
# 第二步:拉取目标分支的最新更改(可选,但推荐)
git pull origin <目标分支>
# 第三步:将源分支的更改合并到当前所在分支
# 注意:只修改当前所在分支,源分支不受影响
git merge <源分支>
合并示例#
# 场景:将 feature/user-login 分支合并到 main
git checkout main # 切换到 main 分支
git pull origin main # 拉取 main 的最新代码
git merge feature/user-login # 合并 feature 分支
# 合并完成后,可以选择删除 feature 分支
git branch -d feature/user-login # 删除本地分支
git push origin --delete feature/user-login # 删除远程分支
删除分支#
# ==================== 删除本地分支 ====================
# 删除已合并的分支(安全删除)
# 如果分支未合并,Git 会拒绝删除
git branch -d <分支名>
# 强制删除分支,无论是否已合并
# ⚠️ 慎用!未合并的更改会丢失
git branch -D <分支名>
# ==================== 删除远程分支 ====================
# 删除远程仓库上的分支
git push origin --delete <分支名>
⚠️ 注意
删除分支的注意事项
git branch -d:只删除已合并的分支,防止误删未合并的工作git branch -D:强制删除,即使分支未合并也会删除- 删除远程分支后,其他协作者需要执行
git fetch --prune清理本地的远程分支引用
分支管理最佳实践#
# 典型的 Git Flow 工作流
git checkout develop # 切换到 develop 分支
git checkout -b feature/new-feature # 创建功能分支
# ... 开发、提交 ...
git checkout develop # 切换回 develop
git merge feature/new-feature # 合并功能分支
git branch -d feature/new-feature # 删除功能分支
git push origin develop # 推送 develop 到远程
相关笔记: