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 会丢失未合并的代码,谨慎操作。
要点总结
git branch -d安全删除已合并分支git branch -D强制删除未合并分支git push origin --delete <branch>删除远程分支git fetch -p清理远程分支引用- 删除前用
--merged检查合并状态
📝 发现内容有误?点击此处直接编辑