Git log漂亮在Windows上不显示黄色

时间:2018-04-16 17:43:31

标签: git powershell

我使用PowerShell和posh-git。根据 https://app.pluralsight.com/library/courses/git-advanced-tips-tricks/table-of-contents以下命令行

git log --pretty='%Cred%h%Creset | %C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %C(cyan)[%an]%Creset'

应以黄色显示分支参考。但是,它不起作用:

enter image description here

红色,绿色和青色确实显示,但不显示黄色,应该为字符串(HEAD -> master, origin/master)着色。我检查过,如果我尝试在日志的其他部分使用黄色,它也不起作用。就好像PowerShell无法呈现黄色。

以下是PluralSight视频的快照:

enter image description here

在快照中,shell是zsh,操作系统是Unix或Linux,但我没有看到为什么PowerShell不能显示黄色的原因。

有什么问题?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,因此我改用了适合我的大胆颜色。

尝试一下(我也将红色更改为粗体,因为这样更容易看到):

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll

答案 1 :(得分:0)

我使用以下脚本修复了所有有关Powershell颜色的问题。

FixPowershellColors.ps1

reg import $PSScriptRoot\Windows10ConsoleColors.reg
$WindowsPowerShellShortcutDir = "$env:USERPROFILE\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell"
$UserPinnedTaskBarDir = "$env:USERPROFILE\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
$sh = New-Object -ComObject WScript.Shell
@(
    "Windows PowerShell",
    "Windows PowerShell (x86)",
    "Windows PowerShell ISE",
    "Windows PowerShell ISE (x86)"
) |% {
    $ShortcutName = $_
    @(
        "$WindowsPowerShellShortcutDir",
        "$UserPinnedTaskBarDir"
    ) |? { Test-Path "$_\$ShortcutName.lnk" } |% {
        $ShortcutPath = "$_\$ShortcutName.lnk"
        $Shortcut = $sh.CreateShortcut($ShortcutPath)
        $TargetPath = $Shortcut.TargetPath
        del $ShortcutPath
        $Shortcut = $sh.CreateShortcut($ShortcutPath)
        $Shortcut.TargetPath = $TargetPath
        $Shortcut.Save()
    }
}
"Reopen PowerShell console to see the changes"

第一行需要更新Windows10ConsoleColors.reg中的Powershell颜色,其余的专用于刷新各种Powershell快捷方式。

Windows10ConsoleColors.reg

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console]
"ColorTable00"=dword:000c0c0c
"ColorTable01"=dword:00c50f1f
"ColorTable02"=dword:0013a10e
"ColorTable03"=dword:00c19c00
"ColorTable04"=dword:000037da
"ColorTable05"=dword:00881798
"ColorTable06"=dword:003a96dd
"ColorTable07"=dword:00cccccc
"ColorTable08"=dword:00767676
"ColorTable09"=dword:00e74860
"ColorTable10"=dword:0016c60c
"ColorTable11"=dword:00f9f1a5
"ColorTable12"=dword:003b78ff
"ColorTable13"=dword:00b4009e
"ColorTable14"=dword:0061d6d6
"ColorTable15"=dword:00f2f2f2

因此,只要您的Powershell快捷方式位于众所周知的位置,脚本就会将它们全部更新,之后您只需要重新打开控制台窗口即可。