Afficher des infos Git dans un terminal Bash

Après avoir réinstallé ma distribution pour repartir sur une base saine avec l’arrivé des beaux jours je suis repassé à bash comme shell. Zsh est vraiment puissant mais sûrement un peu trop pour mon utilisation. Après avoir customisé un peu le look de l’invité de commande j’ai cherché sur le vaste web un script permettant d’afficher la branche git d’un répertoire et d’y voir si le répertoire était à jour.

le script pour afficher cela est le suivant :

function git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* (*\([^)]*\))*/\1/'
}

function markup_git_branch {
  if [[ -n $@ ]]; then
    if [[ -z $(git status --porcelain 2> /dev/null | tail -n1) ]]; then
      echo -e " \001\033[32m\002($@)\001\033[0m\002"
    else
      echo -e " \001\033[31m\002($@*)\001\033[0m\002"
    fi
  fi
}

Il faut ensuite ajouter \$(markup_git_branch \$(git_branch)) à la ligne export PS1= pour l’afficher à la prochaine ouverture de votre invité de commande.

Ainsi chez moi ça donne cela avec

export PS1="\n\e[90m[\u@\h \e[94m\w\e[90m] \$(markup_git_branch \$(git_branch)) \n\e[37m"

Git et Bash Prompt