現在のブランチ名を取得するときは `git branch --contains=HEAD` ではなく `git rev-parse --abbrev-ref @` を使え
検索すると2通りの方法が掲載されていることがある。
git branch --contains=HEAD
git rev-parse --abbrev-ref @
どちらでも取得することは可能だが、 git branch --contains=HEAD
ではダメな場合がある。
ダメな例
前提として master ブランチにいるとする
git branch develop
git branch --contains=HEAD
を実行すると
master
develop
が返ってくる
これは両ブランチの指し示す HEAD が同じだから発生する。
alias
エイリアスで設定しておくと楽
[alias]
currentbranch= rev-parse --abbrev-ref @
おわりに
素直に git rev-parse --abbrev-ref @
を使おう。