1. 删除单个远程分支
git push
• 示例:删除远程仓库 origin 上的 feature/login 分支
git push origin --delete feature/login
2. 简写命令(效果同上)
git push
• 示例:删除远程仓库 upstream 上的 dev/experiment 分支
git push upstream :dev/experiment
3. 删除多个远程分支
git push
• 示例:同时删除 origin 上的 hotfix/v1 和 hotfix/v2 分支
git push origin --delete hotfix/v1 hotfix/v2
4. 清理远程已删除分支的本地记录
删除远程分支后,本地仍会保留远程分支的跟踪记录,使用以下命令清理:
git remote prune
• 示例:清理 origin 的无效分支记录
git remote prune origin
5. 批量删除匹配分支(高危操作!)
结合 grep 和 xargs 批量删除含特定关键词的分支:
git branch -r | grep '
• 示例:删除所有以 temp/ 开头的远程分支
git branch -r | grep 'temp/' | sed 's/origin\///' | xargs -I {} git push origin --delete {}
注意事项
谨慎操作:远程分支删除后不可逆权限验证:确保对远程仓库有删除权限分支存在性检查:删除前可用命令确认分支是否存在
git ls-remote --heads
强制删除保护:如果分支受保护,需先在 Git 平台(如 GitHub/GitLab)解除保护
典型错误处理
error: unable to delete 'branch-name': remote ref does not exist`
原因:分支不存在或已被删除
解决方案:运行 git fetch --all --prune 同步远程状态