zshのプロンプトにgitのブランチを表示させた
なんか動かなくなったのでgit checkoutで昔のリビジョンに戻して,ちょこちょこ作業して,さあサーバにバックアップ送るか,とい思ってgit pushしてもAlready up-to-dateと言われて「あれれ?」と30分ぐらい悩んで,結局ブランチがmasterじゃなかったから,というオチでした.これを防ぐためにgitレポジトリの中にいるときはzshのプロンプトの右端にブランチ名を表示させるようにしてみました.
参考にしたサイトはGitのブランチ名をRPROMPTに表示する方法を改良してみた - Hello, world! - s21gですが,
git branch &> /dev/null | grep
でなんでgrepの標準入力に渡るのかわからないので2>に替えたり,ディレクトリは既に表示してくれてるので表示しないようにしたり改造しました.フックに使われるchpwdが以前の.zshrcとかぶっていたのでちょっとはまりました.コピペ厨の方は注意してください.
どうなったかはgithubにのせました.dotfiles/.zshrc at master · suztomo/dotfiles · GitHub