zsh-git-prompt を使って git リポジトリの状態を表示する方法
このところ歳をとった影響なのか何なのか, git を使ったプロジェクトでリモートへの push 忘れが頻発するようになったので少しは作業環境を見直してみよう, ということで .zshrc とにらめっこしました。 何が問題なのか 改善前は zsh の RPROMPT (画面の右側) にカレントディレクトリの git のブランチ名を次のような形で表示していました。 (git)-(feature/current-branch) この表示でわかるのは git リポジトリで尚且つブランチが feature/current-branch にいるということだけでした。 結果何が起こるかというと「作業し終わって push したつもりで忘れて翌日気づく」といったトラブルです。場合によっては発注元から一切作業しているように見えないまま 1 日経過する, というなんとも芳しくない状態が生まれたりします。 zsh-git-prompt を使って状態を可視化する 1 から作るのは面倒なので zsh のプラグインか何かを探してみると zsh-git-prompt というのがありました。現在いるブランチから remote との差分まで表示してくれるようです。 olivierverdier/zsh-git-prompt インストールは Mac の Homebrew で対応できました。 $ brew install zsh-git-prompt 設定を追加して RPROMPT に次のように表示されるようにしました。 zsh-git-prompt の設定方法 基本は README の Install の通りです。~/.zshrc に次の内容を追加しています。 source "/usr/local/opt/zsh-git-prompt/zshrc.sh" ZSH_THEME_GIT_PROMPT_PREFIX="[" ZSH_THEME_GIT_PROMPT_SUFFIX=" ]" ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg[white]%}" ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[green]%}%{ %G%}" ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[magenta]%}%{x%G%}" ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[red]%}%{+%G%}" ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg[red]%}%{-%G%}" ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg[green]%}%{+%G%}" ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}%{✔%G%}" RPROMPT='$(git_super_status)' zshrc....