Ajouter une branche git à l'invite bash [duplicate]

Aug 28 2020

J'essaie d'ajouter ma branche git actuelle à mon invite de terminal bash. J'ai copié ce fichier:https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh à mon répertoire personnel et c'est la partie de .bashrc qui se rapporte à mon invite:

source ~/.git-prompt.sh

if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00;31m\] \W$(__git_ps1 " (%s)")\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\ \W$(__git_ps1 " (%s)")$ '
fi

Cependant, \ W $ (__ git_ps1 "(% s)") renvoie le dossier courant et la branche, et renvoie le répertoire courant lorsqu'il n'est pas dans un référentiel.

Est-il possible de le faire afficher uniquement la branche actuelle dans un référentiel et lorsque je ne suis pas dans un, n'afficher rien?

Réponses

1 Overfront64 Aug 28 2020 at 03:23

J'ai trouvé que \ W insérait le répertoire actuel qui n'était pas commenté dans le code source ou partout où les gens parlaient d'implémentations. Je l'ai corrigé à ceci:

PS1='${debian_chroot:+($debian_chroot)}\[\033[32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00;31m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '