196 votes

Comment configurer le terme Mac OS X pour que git ait la couleur?

J'ai vu une démo git Mac OS X en ligne dans laquelle il est configuré pour avoir plusieurs couleurs.

Par exemple, son invite est orange, son répertoire ls est violet et sa sortie git diff a ~ 4 couleurs (rose, vert clair, rouge, jaune pâle).

Pouvez-vous me dire comment puis-je configurer le terminal Mac OS X pour y parvenir? C'est définitivement Mac OS X Terminal.app, pas iTerm.

388voto

phloopy Points 4285

La réponse de William Purcell active uniquement la couleur pour la commande 'git diff'. Pour ce faire, activer les couleurs pour toutes les commandes git:

 $ git config --global color.ui true
 

57voto

William Pursell Points 56211

Pour afficher la couleur dans la sortie de git diff, vous devez configurer git. Essayez de courir

 $ git config --global color.diff true
 

pour définir votre $ HOME / .gitconfig de manière appropriée.

12voto

Fredrik Points 4195

Normalement il n'est pas quelque chose que vous configurez le terminal à faire... Le terminal est pas au courant de ce qu'il montre, mais essayez dans votre shell (si vous utilisez bash, dans certains autres coquilles que vous n'avez pas l'exportation mais appel setenv ou autre chose):

export CLICOLOR=1
export TERM=xterm-color

Vous pouvez ensuite utiliser LSCOLORS générateur pour l'installation de quelque chose que vous pouvez exporter en utilisant quelque chose comme:

export LSCOLORS=fxfxcxdxbxegedabagacad

(ci-dessus devrait vous donner violet répertoires)

Lorsque vous avez terminé et vous êtes satisfait du résultat, ajouter les trois lignes à votre /etc/bashrc ou .bashrc de fichier dans votre répertoire home de l'utilisateur.

Edit: Aussi, dans votre terminal, assurez-vous que la case à cocher "Afficher les couleurs ANSI" (sur le "Texte" de la page) est cochée.

10voto

Marc M Points 746

C'est ce que j'utilise dans mon fichier .profile. Fonctionne comme un charme car il me permet de voir la branche git actuelle ainsi que son état à travers la couleur. Si vous souhaitez le modifier, notez qu'il est important d' échapper les codes de couleur afin d'éviter les problèmes de saut de ligne dans les longues lignes.

 # Setting GIT prompt
c_cyan=`tput setaf 6`
c_red=`tput setaf 1`
c_green=`tput setaf 2`
c_sgr0=`tput sgr0`

branch_color ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        color=""
        if git diff --quiet 2>/dev/null >&2 
        then
            color=${c_green}
        else
            color=${c_red}
        fi
    else
        return 0
    fi
    echo -n $color
}

parse_git_branch ()
{
    if git rev-parse --git-dir >/dev/null 2>&1
    then
        gitver="["$(git branch 2>/dev/null| sed -n '/^\*/s/^\* //p')"]"
    else
        return 0
    fi
echo -e $gitver
}

#It's important to escape colors with \[ to indicate the length is 0
PS1='\u@\[${c_red}\]\W\[${c_sgr0}\]\[\[$(branch_color)\]$(parse_git_branch)\[${c_sgr0}\]$ '
 

0voto

Amuck Points 1220

Pour la couleur ls de sortie que je vous recommande d'installer gnu coreutils et en utilisant la version de ls à la place. Pour la version de ls vous aurez besoin de passer le bon drapeau, qui est --couleur pour la version gnu ou -G pour le standard de l'OS X version. Si vous pouvez faire quelque chose comme

alias ls='ls --color'

dans votre .bashrc.

La couleur de votre réponse rapide, vous aurez besoin d'utiliser les bonnes couleurs codes pour votre terminal, mais le mien utilise

PROMPT="$(print '%{\e[0;38m%}%{\e[1;1m%]%}[%m:%c] %n%%%{\e[0m%}') "

pour produire de l'

[hostname:directory] username%

en gras blanc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X