J'ai essayé d'ajouter sans succès la branche git sur laquelle je travaille actuellement (extraite) à l'invite bash. ( Tout en conservant mon chemin actuel qui montre le répertoire actif / le fichier intact) J'ai un fichier .bashrc chez moi, mais j'ai aussi vu beaucoup de gens mentionner le fichier .profile ..
Réponses
Trop de publicités?Remarque ce genre de demande est maintenant géré par contrib/achèvement/git-prompt.sh
et son __git_ps1_branch_name
variable.
- Copiez ce fichier quelque part (par exemple,
~/.git-prompt.sh
).- Ajoutez la ligne suivante à votre
.bashrc/.zshrc
:
source ~/.git-prompt.sh
- Changer votre
PS1
d'appel__git_ps1
comme la commande de substitution:
Bash:
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
ZSH:
setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
Mais notez que le git 1.9.3 (Mai 2014) vous permet de vous en toute sécurité afficher que le nom de la branche(!)
Voir commettre 8976500 par Richard Hansen (richardhansen
):
Les deux bash et zsh sujet de la valeur de la PS1 à paramètre d'extension, de la substitution de commande, et l'expansion arithmétique.
Plutôt que d'inclure le brut, sans échappement nom de la branche en
PS1
lors de l'exécution dans deux ou trois-argument mode de, de construirePS1
de faire référence à une variable qui contient le nom de la branche.Parce que les coquilles ne pas développer de manière récurrente, cela évite l'exécution de code arbitraire par spécialement conçu direction générale des noms tels que
'$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)'.
Ce sournois de l'esprit le nom de la branche comme ça? ;) (À côté d'une Maman comme dans xkcd)
Vous pouvez le faire en modifiant simplement les .bashrc
. Vous devez également activer bash-completion
. Jetez un oeil à ce tutoriel: Afficher la branche actuelle de Git et son statut dans votre invite .
La réponse de Atropo est bon. Mais dans les détails :
1 - Si vous n'avez pas bash-completion ... : sudo apt-get install bash-completion
2 - Modifier votre .bashrc fichier et vérifier la présence (ou ajouter) :
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
3- ... avant votre invite de la ligne : export PS1='$(__git_ps1) \w\$ '
(__git_ps1 montrera votre branche git)
4 - avez - source .bashrc
EDIT :
Lectures supplémentaires : Ne pas Réinventer la Roue
J'ai pu faire en sorte que cela fonctionne pour MacOS après ce tutoriel: Ajouter la branche Git actuelle à votre invite Bash