Git 🌙
Chapters â–Ÿ 2nd Edition

A1.7 Annexe A: Git dans d’autres environnements - Git dans Zsh

Git dans Zsh

Git est aussi livrĂ© avec une bibliothĂšque d’achĂšvement sur tabulation pour Zsh. Pour l’utiliser, lancez simplement autoload -Uz compinit && compinit dans votre .zshrc. L’interface de Zsh est un peu plus puissante que celle de Bash :

$ git che<tab>
check-attr        -- display gitattributes information
check-ref-format  -- ensure that a reference name is well formed
checkout          -- checkout branch or paths to working tree
checkout-index    -- copy files from index to working directory
cherry            -- find commits not merged upstream
cherry-pick       -- apply changes introduced by some existing commits

Les achÚvements possibles ne sont pas seulement listés ; ils sont complétés par des descriptions utiles et vous pouvez naviguer graphiquement dans la liste en répétant tab de maniÚre répétée. Ceci fonctionne avec les commandes Git, les arguments et les noms des choses dans le dépÎt (telles que les références et les serveurs distants), ainsi que les noms de fichiers et les autres choses que Zsh sait achever.

Zsh est livrĂ© avec un systĂšme pour rĂ©cupĂ©rer de l’information depuis les systĂšmes de gestion de version, appelĂ© vcs_info. Pour inclure le nom de la branche sur la partie droite, ajoutez ces lignes Ă  votre fichier ~/.zshrc :

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'

Cela aboutit Ă  un affichage de la branche actuelle sur le cĂŽtĂ© droit de la fenĂȘtre de terminal quand votre invite est dans un rĂ©pertoire Git. Le cĂŽtĂ© gauche est aussi gĂ©rĂ©, bien sur ; dĂ©commentez simplement l’assignation de PROMPT. Cela ressemble à :

L’invite `zsh` personnalisĂ©e.
Figure 161. L’invite zsh personnalisĂ©e.

Pour plus d’information sur vcs_info, reportez-vous à sa documentation dans la page de manuel de zshcontrib(1), ou en ligne sur https://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.

Au lieu de vcs_info, vous prĂ©fĂ©rerez peut-ĂȘtre le script de personnalisation de l’invite qui est livrĂ© avec Git, appelĂ© git-prompt.sh. RĂ©fĂ©rez-vous Ă  https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh pour plus de dĂ©tails. git-prompt.sh est compatible avec Bash et Zsh.

Zsh est assez puissant pour qu’il existe des extensions complĂštes pour le rendre encore meilleur. Une d’entre elles s’appelle "oh-my-zsh" et on peut la trouver sur https://github.com/robbyrussell/oh-my-zsh. Le systĂšme de greffons de oh-my-zsh est dotĂ© d’un achĂšvement sur tabulation pour git puissant et dispose d’une sĂ©rie de thĂšmes d’invites, dont de nombreux affichent l’information de gestion de version. Un exemple d’un thĂšme oh-my-zsh. n’est qu’un exemple de ce qui peut ĂȘtre fait avec ce systĂšme.

Un exemple d’un thùme oh-my-zsh.
Figure 162. Un exemple d’un thùme oh-my-zsh.
scroll-to-top