git stash に「気づかない」「忘れてた」を防ぐためにプロンプトで存在有無がわかるようにしてみた
Git で現在利用しているブランチ名をシェルのプロンプトに表示する記事はよく見かけるので設定してあったけど、git stash したのを忘れたままになっていることがちょくちょくあったので同様に stash されている情報もプロンプトに表示するようにしてみた。
設定方法(zshを利用)
~/.zshrc に下記内容を追記するだけ。
function git-prompt { local branch stash if "$PWD" =~ '/\.git(/.*)?$' ; then return fi branch=$(basename "`git symbolic-ref HEAD 2> /dev/null`") if -z $branch ; then return fi stash="`git stash list | awk -F':' '{print $1}' | tr '\n' ',' | sed 's/,$//g'`" if -n $stash ; then stash=" %{\e[32m%}($stash)%{\e[00m%}" fi echo "%{\e[35m%}($branch)$stash%{\e[00m%} " } # プロンプトが表示されるたびにプロンプト文字列を再評価 setopt prompt_subst # プロンプトの設定 PROMPT=$'`git-prompt`%{\e[33m%}%~%{\e[00m%} %{\e[36m%}%n@%m$%{\e[00m%} '
実際に Git 管理下のディレクトリに cd すると
こんな感じになる。
なんとなーくでつくってみたけど思ってた以上に便利かも!