update sierra mac for macos git command-line-interface

macos - sierra - ¿Cómo configurar el término de Mac OS X para que git tenga color?



update git mac os x (6)

Abra la aplicación de terminal, luego abra el diálogo de preferencias ya sea a través del menú (Terminal -> Preferencias) o presionando Comando + ,. Una vez que se abra el diálogo de preferencias, seleccione el estilo del terminal en el panel de la izquierda, seleccione Texto en la barra de botones, y asegúrese de que la casilla de verificación "Mostrar colores ANSI" esté marcada.

Eso habilitará los colores en el terminal. Para obtener colores en la salida del terminal, deberá incrustar los comandos de color ANSI en los datos que se envían al terminal. Cómo se hace esto depende de los comandos. Por ejemplo (como se mostró anteriormente) el comando ls tiene una opción de colores. Para los códigos de color, haga una búsqueda en Google para "ansi color".

He visto una demostración de git de Mac OS X en línea en la que está configurado para tener múltiples colores.

Por ejemplo, su indicador es ámbar, su directorio ls es púrpura y su salida de git diff tiene ~ 4 colores (rosa, verde claro, rojo, amarillo pálido).

¿Puedes decirme cómo puedo configurar el terminal Mac OS X para lograr eso? Definitivamente es Mac OS X Terminal.app, no iTerm.


Esto es lo que uso en mi archivo .profile. Funciona como un encanto porque me permite ver la rama de git actual así como su estado a través del color. Si desea modificarlo, tenga en cuenta que es importante escapar de los códigos de color para evitar problemas de alimentación de línea en líneas largas.

# 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}/]$ ''


Normalmente no es algo que configure el terminal para hacer ... El terminal desconoce lo que muestra, pero intente esto en su shell (si está usando bash, en otros shells no exporta pero llama a setenv o algo más):

export CLICOLOR=1 export TERM=xterm-color

Luego puede usar el generador LSCOLORS para configurar algo que puede exportar usando algo como:

export LSCOLORS=fxfxcxdxbxegedabagacad

(Lo anterior debe darle directorios morados)

Cuando haya terminado y satisfecho con el resultado, agregue las tres líneas a su / etc / bashrc o al archivo .bashrc en el directorio de inicio de su usuario.

Edición: Además, en su terminal, asegúrese de que la casilla de verificación "Mostrar colores ANSI" (en la página "Texto") esté marcada.


Para la salida de ls de color, recomendaría instalar gnu coreutils y usar esa versión de ls. Para cualquiera de las versiones de ls, deberás pasarle la marca correcta, que es --color para la versión gnu o -G para la versión estándar de OS X. Así que puedes hacer algo como

alias ls=''ls --color''

en tu .bashrc.

Para colorear su aviso, necesitará usar los códigos de colores correctos para su terminal, pero los míos lo utilizan

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

para producir

[hostname:directory] username%

en negrita blanco.


Para mostrar el color en la salida de git diff, necesita configurar git. Intenta correr

$ git config --global color.diff true

para configurar su $ HOME / .gitconfig adecuadamente.


La respuesta de William Purcell solo permite el color para el comando ''git diff''. Haga esto para habilitar los colores para todos los comandos de git:

$ git config --global color.ui true