Windows下Git log pretty黄色分支标识不显示问题(PowerShell+posh-git)
解决PowerShell + posh-git中git log黄色分支引用不显示的问题
我之前在Windows PowerShell搭配posh-git时也碰到过一模一样的问题!其他颜色(红、绿、青)都正常生效,唯独黄色的分支引用(比如HEAD -> master、origin/master这类标识)死活不显示,折腾了一阵终于找到几个可行的解决办法:
1. 直接替换git颜色别名为ANSI数值代码
git里的%C(yellow)颜色别名在PowerShell默认控制台里可能存在映射兼容问题,换成ANSI标准的黄色前景色代码%C(33)试试,修改后的命令如下:
git log --pretty='%Cred%h%Creset | %C(33)%d%Creset %s %Cgreen(%cr)%Creset %C(cyan)[%an]%Creset'
这个方法最简单,大部分情况下能直接解决问题,因为ANSI数值代码在PowerShell里的兼容性更稳定。
2. 全局配置git的引用颜色
如果不想每次都修改命令,可以通过git全局配置指定分支引用的颜色,在PowerShell里执行以下命令:
git config --global color.log.ref "yellow"
要是想让颜色更醒目,还可以加个加粗样式:
git config --global color.log.ref "yellow bold"
配置完成后,再运行你原来的git log命令,黄色分支引用应该就能正常显示了。
3. 排查posh-git的配置干扰
posh-git本身会对git的输出做美化处理,有可能覆盖了默认的颜色设置。你可以打开PowerShell的配置文件$PROFILE(没有的话直接新建即可),查看里面有没有关于git log颜色的自定义配置,如果有的话,暂时注释掉相关代码再测试效果。
4. 切换到Windows Terminal(推荐)
如果上面的方法都不太理想,建议换成Windows Terminal来运行PowerShell——它对ANSI颜色的支持比默认的PowerShell控制台完善得多,几乎能完美兼容所有git的颜色输出,而且还支持更多自定义美化选项,长期使用的体验会好很多。
内容的提问来源于stack exchange,提问作者mark
相关产品推荐
相关产品推荐

