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

如何让posh git (oh-my-posh)正常显示代码仓库状态

Oh My Posh 应用主题后Git仓库状态显示缺失修复方案

修复步骤

方案1:修改主题配置打开Git状态展示开关

绝大多数该问题都是主题默认关闭了Git状态计数展示导致,按以下步骤修改:

  • 导出当前使用的主题配置文件,执行对应命令:
    • 首先查询当前加载的主题路径:oh-my-posh config get
    • 导出配置为可修改的自定义文件:oh-my-posh config export --config <上一步查到的主题路径> --output ~/my-custom-theme.omp.json
  • 打开导出的my-custom-theme.omp.json文件,找到segments数组中type为git的配置块,修改其properties字段为以下内容,原有其他配置可保留:
    "properties": {
      "fetch_status": true,
      "display_status": true,
      "display_stash_count": true,
      "display_ahead_behind": true,
      "status_formatter": "{{ .Ahead }}{{ .Behind }}{{ .Staged }}{{ .Unstaged }}{{ .Untracked }}{{ .Stashed }}"
    }
    
  • 修改shell配置文件加载自定义主题:
    • PowerShell:打开$PROFILE文件,将原有oh-my-posh初始化行修改为:
      oh-my-posh init pwsh --config ~/my-custom-theme.omp.json | Invoke-Expression
    • Zsh:打开~/.zshrc文件,修改初始化行为:
      eval "$(oh-my-posh init zsh --config ~/my-custom-theme.omp.json)"
    • Bash:打开~/.bashrc文件,修改初始化行为:
      eval "$(oh-my-posh init bash --config ~/my-custom-theme.omp.json)"
  • 重载shell配置或重启终端即可看到Git状态数值恢复展示。

方案2:排查环境变量禁用项

部分配置会通过环境变量关闭Git状态获取:

  • 检查shell配置文件中是否存在POSH_GIT_DISABLE_STATUS=1或者OHMYPOSH_DISABLE_GIT_STATUS=1这类配置,删除对应行后重载配置即可。

方案3:更新组件版本

旧版本posh-git和oh-my-posh存在Git状态渲染的已知bug:

  • PowerShell环境执行:Install-Module posh-git -Force更新posh-git,再执行对应系统的oh-my-posh更新命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:54:00