Less is Best

rubyが好き。技術の話とスタートアップに興味があります。

Macのターミナルでgitのbranch名を出力する

こことかここを見て、ターミナルでbranch名が明確に分かるのは便利だなーと思ったので自分も同様のことをやろうと思い立つ。 んで、いろいろと同じようにgit-completion.bash とか git-prompt.shを使ってみてもここであるように、bash: __git_ps1: command not foundの同様のエラーが発生してしまう。

~/.bashrc

source /usr/local/git/contrib/completion/git-prompt.sh
source /usr/local/git/contrib/completion/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
export PS1='\[\033[1;32m\]\u@\h\[\033[00m\]:\[\033[1;34m\]\w\[\033[1;31m\]$(__git_ps1)\[\033[00m\]\$ '

苦戦しつつも英語の記事を見つけて、その方法でクリアしました。

~/.bashrc

# Git branch in prompt.
parse_git_branch() {
            git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h:\W\[\033[32m\]\$(parse_git_branch)\[\033[00m\]$ "

これで快適git生活。むしろなぜ早くやらなかったのか。