Modification des couleurs de sortie du «statut git» dans Posh-Git

Dans Posh-Git , lorsque je lance “git status” dans un référentiel, les couleurs des changements et des fichiers non suivis sont en rouge foncé, lorsque j’ai essayé de les configurer pour qu’ils soient “normaux” en rouge. Je veux le faire parce que j’ai une console avec un fond sombre, donc le rouge foncé est difficile à lire.

J’ai cherché autour, et il semble y avoir deux changements de configuration que je devais faire:

  1. Changez “WorkingForegroundColor” et “UntrackedForegroundColor” de “DarkRed” à “Red” dans $ GitPromptSettings.

  2. Changez “color.status.changed” et “color.status.untracked” en rouge dans git config.

De ma lecture, c’est tout ce que je devrais avoir à faire, et pourtant, les résultats du «statut git» restnt en rouge foncé.

Voici un résumé, pour prouver que je les ai définis comme je l’ai prétendu, et peut-être que quelqu’un peut détecter l’erreur:

capture d'écran

Il n’y a qu’une seule façon de changer DarkRed en Red ici: modifier le schéma de couleurs de la fenêtre de la console elle-même. Pour autant que je sache, git choisira “premier” rouge sur la liste (cela se trouve être sombre …). Il suffit donc d’augmenter la valeur R pour cela.

Vous pouvez le faire directement sur la fenêtre (Propriétés -> Couleurs) ou dans le registre. L’invite est une autre histoire: elle utilise des noms de couleurs PS, où Rouge = Rouge, pas DarkRed …

La sortie de l’ git status est contrôlée par votre fichier .gitconfig. La valeur par défaut pour les fichiers changed et non untracked est un Red untracked mais vous voulez probablement un Red Bold qui est le rouge shiny (par défaut) que vous avez dans l’invite.

Ajoutez ce qui suit à votre fichier .gitconfig:

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

Pour tous ceux qui font référence à cela dans le futur, les couleurs acceptées sont normal suivantes: normal , black , red , green , yellow , blue , magenta , cyan et white . Si deux couleurs sont données, la première est le premier plan et la seconde l’arrière-plan.

Pour changer la couleur des fichiers non suivis et modifiés listés à la couleur jaune la plus lisible, vous pouvez l’append à votre fichier ~ / .gitconfig:

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

Aussi, la mise à jour de GitPrompt.ps1 pour montrer que le jaune n’est pas suivi est probablement une bonne idée:

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

Edit: GitPrompt.ps1 se trouve dans le dossier PowerShell posh-git.

Vous pouvez les modifier en modifiant la source du fichier GitPrompt.ps1 dans le dossier du module PowerShell posh-git. J’ai eu le même problème et j’ai juste retiré le “Dark” dans les couleurs définies autour de la ligne 30 de ce fichier:

 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** 

Cette liste de couleurs Powershell est également utile.

En plus de @WarrenB répondre. Pour changer la couleur de l’état et la couleur de git diff (des nouvelles lignes et des lignes supprimées), vous devez l’avoir dans votre fichier .git / config:

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

L’option “diff” vous permet d’obtenir les couleurs rouge et vert vives (gras). Référence: https://git-scm.com/docs/git-config#git-config-colordiff