Git en Bash. Muestra la información de GIT en el prompt de BASH

Git en Bash. Muestra la información de GIT en el prompt de BASH

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)$

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies