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

Unix环境下Git出现<96>d异常分支,如何识别并删除?

解决Git中显示<96>d异常分支的删除问题

嘿,我碰到过类似的坑!你看到的<96>其实是终端没办法正确渲染分支名里的特殊不可打印字符,所以用这个占位符来兜底显示——实际分支名里并不是<96>这几个字符,而是一个终端无法识别的单个特殊字符,后面跟着d。这就是你直接输入<96>d、96d这些写法都找不到分支的核心原因。

下面给你几个靠谱的解决方法:

方法1:用Git底层命令获取真实分支名

Git的一些底层(plumbing)命令不会像git branch那样被终端转义显示,能直接输出分支的原始名字:

git for-each-ref --format='%(refname:short)' refs/heads/

执行这个命令后,你会看到所有本地分支的真实名称,那个异常分支的特殊字符会原样显示(或者呈现其原始编码形态),你可以直接复制这个真实名称,然后用强制删除命令处理:

git branch -D 真实分支名

(这里用-D是强制删除,避免分支未合并时的报错;如果确定分支内容已经合并到主分支,用-d也可以)

方法2:通过分支哈希值删除

如果上面的命令还是看不到真实字符,或者没法复制,可以用分支对应的哈希值来操作:

  1. 先列出所有分支及其哈希:
git show-ref --heads

输出会是类似这样的格式:

abc1234 refs/heads/main
def5678 refs/heads/feature-x
ghi9012 refs/heads/<96>d  # 这就是那个异常分支

找到对应异常分支的哈希值(比如上面的ghi9012),然后用哈希值强制删除:

git branch -D ghi9012

方法3:用通配符匹配(谨慎使用)

如果你确定只有这个异常分支是以d结尾的,可以用通配符来匹配删除:

git branch -D *d

⚠️ 注意:这个命令会删除所有以d结尾的分支,一定要确认没有其他正常分支符合这个规则再执行!

方法4:直接输入特殊字符(针对已知编码)

如果<96>对应的是十六进制编码为0x96的字符(比如ASCII的破折号),在bash/zsh这类终端里,可以用转义序列直接输入这个字符:

git branch -D $'\x96'd

这个写法里的$'\x96'会被终端解析为十六进制0x96对应的字符,后面加上d就是完整的分支名了。

内容的提问来源于stack exchange,提问作者Bharath K Asrani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 21:28:14