Pour avoir les informations supplémentaires à une invite pour Git par zsh
Question
Torvalds semble avoir le message suivant .
[torvalds@g5 git]$
Le premier mot est le nom d'utilisateur. g5
semble être une branche en repo Git, alors que git
montre qu'il est une branche dans Git.
Mon message actuel
PROMPT="$"
Comment pouvez-vous avoir une invite similaire Torvalds?
La solution
En fait, je devine que g5
fait référence au nom d'hôte de la machine, il travaille actuellement, et git
est le répertoire de travail courant. Le format [user@hostname dir]$
est assez standard (à savoir, largement utilisé) invite du shell.
Autres conseils
l'intégration de Git Bash d'achèvement programmable fournit une fonction nommée __git_ps1
.
Si vous changez PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
(dans votre .bashrc
ou un autre fichier interactive de source), et ne pas personnalisations supplémentaires, votre message ressemblera à ceci:
[user@host ~]$ cd /usr/src/linux [user@host linux ((v2.6.30))]$
Si vous utilisez zsh (plutôt que bash plus populaire), jetez un oeil à VCS informations dans les invites poste de blog par Xana yammering sur l'utilisation de sous-système vcs_info
développé par Frank Terbeck pour zsh, avec back-end pour Git.
Comme ephemient dit, vous voulez avoir que noreferrer script bash Git installé , les instructions d'installation sont en haut du fichier. Vous pouvez également consulter la Github page Guide pour cela. Une chose à noter est que la branche n'apparaîtra que si vous êtes dans un répertoire git. Par exemple, voici ce que mon message normale ressemble à: blaenk@macbook:~ $
et l'invite ressemble à ceci quand je suis dans un répertoire git: blaenk@macbook:~/code/iphone/DIFM (master*)$
Si vous regardez attentivement, la partie où elle montre la branche, maître, a un astérisque après. Cela signifie qu'il ya des changements Unstaged; il affichera un + si des changements sont mis en scène. Cela peut être assez utile. Pour ce faire, vous avez essentiellement à mettre GIT_PS1_SHOWSTASHSTATE
à un état non vide. Ainsi, par exemple dans votre ~/.bashrc
ou ~/.bash_profile
, mettez les éléments suivants:
export GIT_PS1_SHOWDIRTYSTATE=true
Maintenant, quand vous allez dans un répertoire git, vous devriez voir l'indicateur s'il y a des changements Unstaged ou s'il y a des changements mis en scène. Vous pouvez tester ceci vraiment rapide en éditant un fichier. L'astérisque devrait apparaître. Vous pouvez ensuite restaurer le fichier à son état d'origine en faisant:
git checkout -- the/file.txt
Soit dit en passant, ce script bash complet automatique est vraiment génial. Vous pouvez enfin faire des choses comme « chec git » puis appuyez sur TAB, et il va à la caisse saisie semi-automatique par exemple, et vous pouvez également les noms de branche complète auto aussi.
D'autres ressources dont vous aurez très probablement être intéressé par sont les suivantes, qui vous guidera à travers le processus de l'élaboration de votre invite la façon dont vous le souhaitez, et si vous voulez, ajouter de la couleur à certaines parties, qui peuvent faire pour beaucoup plus lisible et rapide d'information. Juste essayer de ne pas exagérer.
Je reçois ce qui suit enfin travailler
function get_git_branch {
git branch | awk '/^\*/ { print $2 }
}
function get_git_dirty {
git diff --quiet || echo '*'
}
function get_git_prompt {
git branch &> /dev/null || return 1
echo "($(get_git_branch)$(get_git_dirty)) "
}
PROMPT="$(get_git_prompt)\$ "