新开发环境执行git branch分支不按字母排序的原因及排查方法
可能诱因及排查方案
- Git版本默认规则变更
Git 2.38.0及以上版本调整了git branch的默认排序逻辑,从此前的按分支名称字母序排序,改为按分支最后提交时间倒序排序,这是该问题最高发的诱因。你可以先执行git --version确认当前安装的Git版本,如果版本符合上述范围,属于官方规则调整,并非故障。 - 自定义Git排序配置生效
执行git config --get branch.sort查看是否存在自定义的分支排序配置,如果返回结果非空,说明全局/当前仓库的Git配置手动指定了排序规则,常见配置值包括-committerdate(按提交时间倒序)、authordate(按作者提交时间排序)等,会覆盖默认排序逻辑。 - 终端字符集配置异常
如果分支名包含中文、特殊符号、大小写混合字符,当前终端的locale配置不符合预期时,也会导致字符排序逻辑异常。可执行locale命令查看当前终端字符集,确认是否为兼容多语言的UTF-8编码。
快速修复方案
- 临时生效:执行
git branch --sort=refname即可让本次输出按字母正序排列 - 永久生效:执行
git config --global branch.sort refname即可将字母序设为全局默认的分支排序规则
内容的提问来源于stack exchange,提问作者Evanss
相关产品推荐
相关产品推荐

