38ch blog

気になるから言いたい。

Macでterminalにgitのブランチ名を表示する

f:id:null368:20170212181217p:plain
デフォルトのターミナルでは、git管理下のディレクトリに行ってもブランチ名が表示されていないので、git branchをしないと自分が今どこのブランチにいるのかわかりません。そのままgit commitしてしまって、「あ、めんどくせ・・・」となることも。

基本的には、気にする場所は、usr/local/Cellar/git/{gitのversionの数字}/etc/bash_completion.d/なんですが、お使いのPCのgitがApple Gitの場合、多分ディレクトリ自体が見つからないはずです。どのgitを使っているかはgit versionで確認しましょう。

Homebrew gitへUpdate

Apple gitの場合、一旦、homebrewのgitにアップデートしましょう。
homebrew自体をインストールしていない人はこちらから。 brew.sh

$ brew install git
==> Downloading https://homebrew.bintray.com/bottles/git-2.5.0.mavericks.bottle.
######################################################################## 100.0%
==> Pouring git-2.5.0.mavericks.bottle.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The "contrib" directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/git/2.5.0: 1383 files, 32M

terminalを再起動したあと、git versionで再度、gitのバージョンを確認してみる。
ここでバージョンが変わってなければ、PATHを通すなり対処してください。

gitcomprication.bashを移動

さて、homebrewのgitがインストールされると、初めの、usr/local/Cellar/git/{gitのversionの数字}/etc/bash_completion.d/ができており、そこにgitcomprication.bashがあるはずです。それを/usr/local/git/contrib/completion/に移動してあげます。

mkdir -p /usr/local/git/contrib/completion/
cd usr/local/Cellar/git/{gitのversionの数字}/etc/bash_completion.d
mv git-completion.bash /usr/local/git/contrib/completion/


.bashrcと.bash_profileの設定

.bashrcに以下の記述を追加(ホームディレクトリにあるはずです)

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

そもそも.bashrcがない場合は、新しく作成しましょう。
追記したら、反映のために以下を実行

source ~/.bashrc

.bash_profileに.bashrcを読みに行く設定が書かれていない場合は、以下は.bash_profileに追記してください。

$ vi ~/.bash_profile

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

.bashrcやら.bash_profileとか何やねんそれという人はこちらを読んでみてください。

qiita.com

以上を完了させると、terminalでgitのブランチ名が表示されるようになるはずです。