You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量删除开源项目中已合并的补丁分支?

批量删除已合并的GitHub补丁分支

清理本地已合并分支

  1. 更新本地远程分支缓存,移除已在远程删除的分支信息:
    git fetch --prune
    
  2. 切换到项目的主分支(如main或master):
    git checkout main
    
  3. 拉取主分支的最新代码:
    git pull origin main
    
  4. 批量删除所有已合并到当前主分支的本地分支:
    git branch --merged | grep -v "\*" | xargs git branch -d
    
    执行前可以先替换git branch -d为echo,预览将要删除的分支列表,确认无误后再执行删除。

清理远程已合并分支

方法一:使用GitHub CLI(推荐)

如果已安装GitHub CLI(gh),可以直接通过PR状态批量删除:

gh pr list --state merged --json headRefName --jq '.[].headRefName' | xargs gh repo delete-branch

这个命令会自动筛选所有已合并PR对应的远程分支并删除。

方法二:使用原生Git命令

  1. 同样先更新远程分支缓存:
    git fetch --prune
    
  2. 批量删除已合并到远程主分支的分支:
    git branch -r --merged origin/main | grep -v "origin/main" | sed 's/origin\///' | xargs -I {} git push origin --delete {}
    
    替换origin/main为你的项目主分支名(如origin/master),同样可以先替换git push origin --delete {}为echo预览分支列表。

注意:删除分支前务必确认这些分支已不再需要,已合并的分支通常不会包含未同步的代码,但谨慎起见建议先备份或确认分支状态。

内容的提问来源于stack exchange,提问作者POBrien333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:44:59