Program Tip

Posh-Git에서 "git status"출력 색상 변경

programtip 2020. 11. 29. 12:13
반응형

Posh-Git에서 "git status"출력 색상 변경


에서 포쉬 - 망할 놈의 I가 "정상"빨간색으로 그들을 구성하는 시도 할 때 나는 저장소에 "자식 상태를"실행, 변경 및 추적되지 않는 파일에 대한 색상은 진한 빨간색입니다. 배경이 어두운 콘솔이있어서 짙은 빨간색은 읽기 어렵 기 때문에 이렇게하고 싶습니다.

주변을 검색 한 결과 두 가지 구성 변경 사항이있는 것 같습니다.

  1. $ GitPromptSettings에서 "WorkingForegroundColor"및 "UntrackedForegroundColor"를 "DarkRed"에서 "Red"로 변경합니다.

  2. git config에서 "color.status.changed"및 "color.status.untracked"를 빨간색으로 변경하십시오.

제가 읽어 본 결과, 이것이 제가해야 할 전부입니다. 그러나 "git status"의 결과는 짙은 빨간색으로 남아 있습니다.

내가 주장한대로 설정했고 누군가가 오류를 발견 할 수 있음을 증명하기 위해 요약은 다음과 같습니다.

스크린 샷


여기서 DarkRed를 Red로 변경하는 방법은 단 한 가지입니다 : 콘솔 창 자체의 색 구성표를 수정하는 것입니다. 내가 아는 한 git은 목록에서 "처음"빨간색을 선택합니다 (어두워집니다 ...). 따라서 R 값을 높이십시오.

창 (속성-> 색상) 또는 레지스트리에서 직접 수행 할 수 있습니다. 프롬프트는 다른 이야기입니다. PS 색상 이름을 사용합니다. 여기서 Red는 DarkRed가 아니라 Red입니다.


의 출력은 git status.gitconfig 파일에 의해 제어됩니다. changeduntracked파일 의 기본값 은 희미 Red하지만 Red Bold프롬프트에있는 밝은 (기본값) 빨간색을 원할 수 있습니다.

.gitconfig 파일에 다음을 추가하십시오.

[color]
    ui = true
[color "status"]
    changed = red bold
    untracked = red bold
    added = green bold

다른 사람이 앞으로이를 참조하는 경우, 허용 색상이 normal, black, red, green, yellow, blue, magenta, cyan, 및 white뿐만 아니라 하나의 선택 사항 수정 bold, dim, ul, blink, 또는 reverse. 두 가지 색상이 주어지면 첫 번째는 전경이고 두 번째는 배경입니다.


나열된 추적되지 않고 수정 된 파일의 색상을 더 읽기 쉬운 노란색으로 변경하려면 ~ / .gitconfig 파일에 다음을 추가 할 수 있습니다.

[color "status"]
    untracked = bold yellow
    changed = bold yellow

또한 추적되지 않은 노란색으로 표시되도록 GitPrompt.ps1을 업데이트하는 것이 좋습니다.

    UntrackedForegroundColor  = [ConsoleColor]::Yellow
    WorkingForegroundColor    = [ConsoleColor]::Yellow

편집 : GitPrompt.ps1은 PowerShell posh-git 폴더에 있습니다.


PowerShell posh-git 모듈 폴더에서 GitPrompt.ps1 파일의 소스를 수정하여이를 변경할 수 있습니다. 나는 같은 문제가 있었고이 파일에서 30 줄 주위에 정의 된 색상에서 'Dark'를 제거했습니다.

BeforeIndexForegroundColor= [ConsoleColor]::**Green**
BeforeIndexBackgroundColor= $Host.UI.RawUI.BackgroundColor

IndexForegroundColor      = [ConsoleColor]::**Green**
IndexBackgroundColor      = $Host.UI.RawUI.BackgroundColor

WorkingForegroundColor    = [ConsoleColor]::**Red**
WorkingBackgroundColor    = $Host.UI.RawUI.BackgroundColor

UntrackedText             = ' !'
UntrackedForegroundColor  = [ConsoleColor]::**Red**

Powershell 색상 목록 도 유용합니다.


@WarrenB 답변 외에도. 상태의 색상을 변경하려면 그리고 당신이 당신의 .git / config에 파일이 있어야 (새 라인 및 제거 선)이 자식은 diff의 색상을 :

[color]
ui = true
[color "status"]
changed = red bold
untracked = red bold
added = green bold
[color "diff"]
old = red bold
new = green bold

"diff"옵션을 사용하면 밝은 (굵은) 빨강 및 녹색 색상을 사용할 수 있습니다. 참조 : https://git-scm.com/docs/git-config#git-config-colordiff

참고 URL : https://stackoverflow.com/questions/18420139/changing-git-status-output-colors-in-posh-git

반응형