Git
Chapters ▾ 2nd Edition

A1.6 Annexe A: Git dans d’autres environnements - Git dans Bash

Git dans Bash

Si vous êtes un utilisateur de Bash, vous pouvez utiliser une des fonctionnalités de l’invite pour rendre votre utilisation de Git plus agréable. Git est fourni avec des greffons pour différentes invites, mais ils ne sont pas activés par défaut.

Premièrement, vous devez vous procurer une copie du fichier contrib/completion/git-completion.bash depuis le code source Git. Copiez-le dans un endroit pratique, tel que votre répertoire personnel et ajoutez ceci à votre fichier .bashrc :

. ~/git-completion.bash

Une fois cela fait, déplacez-vous dans un répertoire git et tapez :

$ git chec<tab>

…et Bash va achever automatiquement en git checkout. Cela fonctionne avec toutes les sous-commandes de Git, le paramètres de la ligne de commande et les noms de références quand c’est approprié.

C’est aussi utile pour modifier l’invite pour qu’elle affiche des informations à propos du dépôt Git du répertoire courant. Elles peuvent être aussi simples ou complexes que vous le souhaitez, mais il y a généralement quelques informations clés qui intéressent tout le monde, telles que la branche actuelle et l’état du répertoire de travail. Pour ajouter celles-ci à votre invite, copiez juste le fichier contrib/completion/git-prompt.sh depuis le dépôt source de Git dans votre répertoire personnel, ajoutez quelque chose comme ceci à votre .bashrc :

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

Le symbole \w signifie affiche le répertoire de travail courant, \$ affiche la partie $ de l’invite et __git_ps1 " (%s)" appelle la fonction fournie par git-prompt.sh avec un argument de formatage Ainsi votre invite bash ressemblera à ceci quand vous êtes quelque part dans un projet géré par Git :

Invite `bash` personnalisée.
Figure 160. Invite bash personnalisée.

Ces deux scripts ont une documentation ; jetez un œil au contenu de git-completion.bash et git-prompt.sh pour plus d’information.

scroll-to-top