Chez ouam

/home/jmfrouin

View on GitHub
3 June 2013

Intégration de git dans bash

by Jean-Michel Frouin

L'intégration de git avec bash permet d'ajouter l'information de la branche courante (entre parenthèses) dans le prompt du shell (PS1)

jmfrouin@ux32a:~/dev/config-files (master)$

J’utilise deux méthodes différentes :

La première fonctionne aussi sous Mac :

parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^\*]/d' -e 's/\* \(.\*\)/ ()/'
}                                                                                                                                                                           
PS1="${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[0;33m\]\$(parse_git_branch)\[33[00m\]\[33[00m\]\$ "

Et la seconde que j'utilise actuellement en bash :

__git_ps1 ()
{ 
    local b="$(git symbolic-ref HEAD 2>/dev/null)";
    if [ -n "$b" ]; then
        printf " (%s)" "${b##refs/heads/}";
    fi
}
PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[0;33m\]`__git_ps1`\[\033[00m\]\$"

Simple, efficace !

tags: