首页/ 学科题库/ git/ git branch -d 删除分支
git 实战教程

git branch -d 删除分支

2026-05-11 约 5 分钟 juanwangdev

git branch -d 删除分支

git branch -d 删除已合并的分支,-D 强制删除未合并分支。

基本用法

Bash
# 删除已合并的分支
git branch -d <branch>

# 强制删除分支(未合并也可删除)
git branch -D <branch>

# 删除远程分支
git push origin --delete <branch>

删除示例

Bash
# 删除功能分支(已合并)
git branch -d feature/login

# 删除未合并分支(报错)
git branch -d feature/test
# error: The branch 'feature/test' is not fully merged.

# 强制删除
git branch -D feature/test

删除流程

Bash
# 1. 确认分支已合并
git checkout main
git merge feature/login

# 2. 删除本地分支
git branch -d feature/login

# 3. 删除远程分支(如果存在)
git push origin --delete feature/login

-d 与 -D 对比

选项说明使用场景
-d安全删除只删除已合并分支
-D强制删除删除任何分支(含未合并)

删除远程分支

Bash
# 方法一
git push origin --delete feature/login

# 方法二(简写)
git push origin :feature/login

清理远程已删除的分支引用

Bash
# 清理本地对远程分支的过期引用
git fetch -p
git fetch --prune

# 手动删除远程跟踪分支
git branch -d -r origin/feature/login

查看可删除的分支

Bash
# 查看已合并到当前分支的分支
git branch --merged

# 查看未合并的分支
git branch --no-merged

批量删除分支

Bash
# 删除所有已合并的分支(排除 main)
git branch --merged | grep -v "main" | xargs git branch -d

# 删除所有 feature 分支
git branch | grep "feature/" | xargs git branch -d

使用 -D 会丢失未合并的代码,谨慎操作。

要点总结

  1. git branch -d 安全删除已合并分支
  2. git branch -D 强制删除未合并分支
  3. git push origin --delete <branch> 删除远程分支
  4. git fetch -p 清理远程分支引用
  5. 删除前用 --merged 检查合并状态
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 HEAD 指针理解 下一篇 → git branch 创建分支