用途:安全软删除一个已合并的 Git 分支,避免误删未合并分支。
主要能力:无需用户指定分支名时,默认处理当前检出分支;先检查工作区是否干净,获取当前分支名,确定默认分支(origin/HEAD,未设置时回退到 main),切到默认分支并拉取最新代码,然后执行 git branch -d 软删除。
必要用法与步骤:git status --porcelain 检查未提交改动;git branch --show-current 获取当前分支;git symbolic-ref --short refs/remotes/origin/HEAD 确定默认分支;git checkout <default-branch> 切换;git pull 更新;git branch -d <branch-name> 软删除。
失败处理:若软删除失败,可能是 GitHub Squash and merge 导致分支尖端不是默认分支祖先;可用 gh pr view <branch-name> --json state,mergedAt 检查 PR 是否为 MERGED,确认后经用户同意再用 git branch -D 强制删除,否则交由用户决定。
限制:工作区脏、当前分支即默认分支或需强制删除时,需先询问用户;除上述已验证 squash 合并情形外,避免使用 -D。