Prompt para Git en Bash

Si eres programador y has trabajado con Git, seguramente habrás comprobado alguna vez si el repositorio en el que estás trabajando está actualizado, la rama en la que te encuentras, etc. Pero cada vez que haces esto tienes que ejecutar alguna instrucción de Git. ¿No sería más cómodo tener siempre esa información a simple vista?

Puedes modificar las variables de entorno de tu shell para que esa información se muestre automáticamente cuando te encuentres en un repositorio. Por suerte, ya hay proyectos de software libre que se han encargado de ello. Yo conozco dos: bash-git-prompt y git-status-prompt. Hay muchos más, estos dos son simplemente los que yo he usado. En este artículo os enseñaré a instalar y configurar bash-git-prompt.

La motivación que llevó a crear bash-git-prompt se encuentra en este artículo escrito por Sebastian Celis. Básicamente, el objetivo era crear un programa rápido y que mostrará la mayor información posible utilizando el menor número de caracteres posible. Originalmente se creó este programa para la shell zsh, y más tarde nació bash-git-prompt para Bash, como una migración de la versión para zsh que se encuentra en https://github.com/olivierverdier/zsh-git-prompt.

Para instalar bash-git-prompt, clona el repositorio bash-git-prompt:

git clone https://github.com/magicmonty/bash-git-prompt.git ~/.bash-git-prompt --depth=1

Y añade al archivo ~/.bashrc las siguientes líneas:

# bash-git-prompt
GIT_PROMPT_ONLY_IN_REPO=1
source ~/.bash-git-prompt/gitprompt.sh

Hay muchas variables de configuración que se pueden añadir además de GIT_PROMPT_ONLY_IN_REPO. Lee atentamente el README del repositorio bash-git-prompt para conocer todas las variables de configuración existentes.

Bash Git prompt

Si recargamos la configuración de Bash y entramos en el directorio de un repositorio, podremos ver la nueva apariencia de la interfaz de línea de órdenes que trae bash-git-prompt por defecto. Cada símbolo tiene un significado diferente. Una vez aprendas lo que significa cada símbolo, podrás saber de un vistazo si el repositorio está actualizado, el número de archivos que se han modificado...

Se puede personalizar muy fácilmente. A mí no me resulta muy útil que me muestre la hora actual y un salto de línea, así que he creado un nuevo diseño que no tiene esas características.

A continuación, dejo un vídeo grabado con asciinema en el que enseño cómo instalar bash-git-prompt desde cero y cómo crear un tema personalizado.

Lo siento, asciinema-player no funciona sin JavaScript.

Comentarios