美文网首页
oh-my-zsh 中 git branch 乱码显示问号问题分

oh-my-zsh 中 git branch 乱码显示问号问题分

作者: 德川家康薛定谔 | 来源:发表于2023-02-13 15:17 被阅读0次

部分中文字符(例如 “加”)出现在分支名时,omz 的 分支显示会显示出错
(显示�问号)

显示乱码,包含问号

按照从网上搜索的解决方案(设置 LANG=zh_CN)之后无作用。
查看了 oh-my-zsh 代码之后发现
symbolic-ref --short HEAD 这个命令会返回错误的值
将这个 bug 反馈到 git 开发组之后,从开发组的邮件中看到当设置 LANG = C 的时候能正确显示,但是会出现其他问题

开发者邮件显示设置 LANG=C 时正常 branch 分之正常显示

但是会出现的问题是,omz 的自动补全功能会出问题。
例如:输入 cd 然后按 tab 自动补全,此时会将命令显示两遍


显示了两个 cd ../../

因此该解决方法不适用。
目前的临时解决方案是:
修改 oh-my-zsh 代码,去掉 --short 参数,不采用短分枝名,让它显示完整的分枝名。
具体操作方法:

  1. 打开 ~/.oh-my-zsh 文件夹
  2. 全局搜索 symbolic-ref --short 字段(目前应该只在 lib/git.zshlib/cli.zsh 两个文件里各有一行)
  3. 删除这两个命令里的 --short (建议注释掉这一行,然后复制一行在下面修改,这样下次要改回来搜索的时候比较方便)
  4. 重启终端

最终效果如下:


汉字部分无问题

缺点:branch 太长,正常应该没有前面的 refs/heads/

目前 git 开发组正在修复这个问题,所以接下来应该很快就不会出现这个bug了。
|=========================
2.40.0 版本 已经修复该 bug

image.png

相关文章

  • git 常用命令

    1、git显示全部分支 git branch //显示本地分支git branch -a //显示远程分支 2、g...

  • git branch

    命令格式 git branch 显示当前分支名 git branch [ ] 创建分支 git branch...

  • git 常用操作

    比较两个branch中的不同: git diff branch1 branch2 --stat 显示指定文件的详细...

  • git常见命令

    1 git branch :查看本地分支git branch -a查看线上分支git branch -d (分...

  • Git 如何 clone 非 master 分支的代码

    git branch -r #查看远程分支 或 git branch -a #查看所有分支 会显示 origin/...

  • Git基本使用

    Git创建、删除branch 查看远程分支 git branch -a 查看本地分支 git branch 切换分...

  • git 对比两个分支差异

    1. 显示出branch1和branch2中差异的部分 git diff branch1 branch2 --st...

  • Git分支命令

    1. 创建分支 $ git branch 2. 显示分支列表 $ git branch 3. 切换分支 $ git...

  • git常用命令

    查看本地分支git branch查看远程分支git branch -a删除本地分支git branch -d [分...

  • warning: remote HEAD refers to n

    git branch -a //显示 remotes/origin/test git checkout remot...

网友评论

      本文标题:oh-my-zsh 中 git branch 乱码显示问号问题分

      本文链接:https://www.haomeiwen.com/subject/ywajkdtx.html