Os dejamos un pequeño truco muy sencillo pero bastante útil para que nos muestre la información de GIT en BASH, en concreto en que rama estamos y si hay alguna modificación en los ficheros en la misma.
Está basado en ZSH, otro shell distinto a BASH que ofrece está funcionalidad. Si no quieres instalar un interprete de comandos nuevo, pero si tener esta información, sólo deberéis modificar el fichero .bashrc (recomendamos que hagáis una copia) de vuestro directorio de usuario, haciendo las siguiente modificaciones.
Instrucciones para mostrar la info de GIT en BASH
Añade estas dos funciones que nos extraerán la información de GIT del directorio actual y modifica la asignación del prompt:
# Funciones are_there_git_changes() { status=$(git status 2> /dev/null) if [[ $status && ! $(echo $status | grep "clean") ]]; then echo "*" fi } parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } if [ "$color_prompt" = yes ]; then # Original #PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' # Línea modificada PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(parse_git_branch)$(are_there_git_changes)\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi
Es muy útil al entrar en una carpeta saber que, hay un repositorio GIT inicializado, en que rama estás de este y si hay una modificación en al misma.
Ahora, cuando estéis en una consola dentro de una carpeta con un repositorio GIT inicializado, se mostrara la rama en y si hay cambios.
En la rama master sin cambios
user@machine:~/example_folder (master)$
En la rama master con cambios
user@machine:~/example_folder (master)*$
En la rama feature/new-change sin cambios
user@machine:~/example_folder (feature/new-change)$