Jun's Blog

Output, activities, memo and etc.

プロンプトにブランチ名を表示

Gitはブランチを多用するようですが、今、どのブランチにいるのか分からないと、作業を間違えるので、プロンプトにブランチ名が表示されると嬉しいですね。

.bashrc

PS1='[\u@`branch`]$ '

function branch {
  NAME=`git branch 2> /dev/null | grep '^\* ' | sed -e 's/^\* //'`
  echo "${NAME}"
}

こんな感じで表示されます。

[me@master]$ git branch
* master
  release
[me@master]$ git checkout release
[me@release]$ git branch
  master
* release

.zshrc にプロンプトの記述を書くと、branchメソッドzsh起動時に一度呼ばれて、その後、呼ばれず、git checkout xxx したタイミングで、プロンプトのブランチ名が変更されないのだけど、何が間違ってるのだろうか。。