web-dev-qa-db-fra.com

Modification des couleurs de sortie "git status" dans Posh-Git

Dans Posh-Git , lorsque j'exécute "git status" dans un référentiel, les couleurs des modifications et des fichiers non suivis sont rouge foncé, lorsque j'ai essayé de les configurer pour qu'elles soient "normales" 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 j'ai dû faire:

  1. Changez "WorkingForegroundColor" et "UntrackedForegroundColor" de "DarkRed" en "Red" dans $ GitPromptSettings.

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

D'après ma lecture, c'est tout ce que je dois faire, et pourtant les résultats de "git status" restent rouge foncé.

Voici un résumé, pour prouver que je les ai définis comme je l'ai réclamé, et peut-être que quelqu'un peut repérer l'erreur:

screenshot

61
NightShovel

Il n'y a qu'une seule façon de changer DarkRed en Rouge ici: modifier le schéma de couleurs de la fenêtre de la console elle-même. Autant que je sache, git choisira le "premier" rouge sur la liste (qui 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 histoire différente: elle utilise des noms de couleurs PS, où Rouge = Rouge, pas DarkRed ...

51
BartekB

La sortie de git status est contrôlé par votre fichier .gitconfig. La valeur par défaut pour les fichiers changed et untracked est un dim Red mais vous voudrez probablement Red Bold qui est le rouge vif (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 toute autre personne qui y fera référence à l'avenir, les couleurs acceptées sont normal, black, red, green, yellow, blue, Magenta, cyan et white ainsi qu'un seul modificateur optionnel bold, dim, ul, blink ou reverse. Si deux couleurs sont données, la première est le premier plan et la seconde l'arrière-plan.

97
WarrenB

Pour changer la couleur des fichiers non suivis et modifiés répertoriés en une couleur jaune plus lisible, vous pouvez l'ajouter à votre fichier ~/.gitconfig:

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

La mise à jour de GitPrompt.ps1 pour afficher non suivi en jaune est alors probablement une bonne idée:

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

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

12
Thomas Svensen

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 je viens de supprimer le 'Dark' dans les couleurs définies autour de la ligne 30 dans 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.

5
Ade Miller

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

[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 les couleurs vives (gras) rouge et vert. Référence: https://git-scm.com/docs/git-config#git-config-colordiff

2
Luigi Lopez