git删除本地分支
1. 删除本地分支的标准做法(推荐)
Git 对删分支这件事其实很谨慎,它默认帮你做一次理性判断。
1.1删除已合并的本地分支
1 | git branch -d branch_name |
含义是:
- 这个分支的提交 已经被合并 到当前分支或其他分支
- 删掉不会丢历史
- Git 点头同意
这是最安全、最符合 Git 哲学的方式。
2. 强制删除本地分支(危险)
当 Git 拒绝你时,通常是在保护你。
2.1 删除未合并的本地分支
1 | git branch -D branch_name |
本质含义:
-D=--delete --force- Git 不再检查合并状态
- 提交如果没有别的引用 → 可能永久消失
适用场景:
- 实验分支
- 临时调试
- 明确确认“这堆提交我不要了”
3. 常见限制与误区
3.1 不能删除当前所在分支
1 | error: Cannot delete branch 'xxx' checked out |
正确姿势:
1 | git switch main |
3.2 以为删了分支就删了远端
1 | git branch -d xxx ❌ 只影响本地 |
这只是在你电脑上“忘记”这个分支,远端毫发无损。
4. 批量删除本地分支
4.1 删除所有已合并到 main 的分支
1 | git branch --merged main | grep -v "main" | xargs git branch -d |
用途:
- 长期项目清理现场
- 防止本地分支像杂草一样生长