全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 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 检查合并状态

📝 发现内容有误?点击此处直接编辑

← 上一篇 HEAD 指针理解
下一篇 → git branch 创建分支
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库