Aikの技術的な進捗部屋

技術的な進捗とか成果とかを細々と投稿するブログです。時々雑記も。

brew非経由でインストールしたGitでMacターミナルにブランチ名を表示させる

やり方

「やり方だけ見たい」という時のために、手順だけを下記に記しておきます。

  1. git-completion.bashgit-prompt.shがどこにあるか探す
    • find / -name git-completion.bash, find / -name git-prompt.sh
    • お好みでsudoを付けましょう
  2. vim ~/.bashrcVimを起動、後述のシェルスクリプトを最下部に追記
  3. source ~/.bashrcで完了
source [手順1で調べたPathを記入]/git-prompt.sh
source [手順1で調べたPathを記入]/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true

if [ $UID -eq 0 ]; then
    PS1=$PS1'\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$'
else
    PS1=$PS1'\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$'
fi

はじめに

タイトル通りの内容です。

筆者はよくGithub…もといGitにお世話になっているのですが、ふと「MacターミナルにGitのブランチ名を表示させたいな」と思い立ち調べたところ、どうもbrewでGitをインストールしたのが前提の説明ばかりでした。
brew非経由でインストールされた筆者は大変困ったので、なんとかbrew非経由でのGitでも同様の手順でブランチ名を表示できないかと足掻いた結果です。

結果はこんな感じになりました:

"brew非経由でインストールしたGitでターミナルにブランチ名が表示された画像"
なかなかいい感じじゃないでしょうか

そんなに難しいことはやってないんですけどね。
やり方の詳細を見ていきましょう。

やり方

1. 必要ファイルの在処探し

まず、ターミナルにブランチ名を表示させるために必要な下記のファイルの在処を探します。

※参考: https://qiita.com/varmil/items/9b0aeafa85975474e9b6

こちらのコマンドで探し当てましょう。
お好みでsudoを先頭につけたりしてみてください。
※検索対象のディレクトリがルートディレクト\なので激重です…適宜別のディレクトリに指定する等対策を

find / -name git-completion.bash
find / -name git-prompt.sh

なお、私の環境では下記ディレクトリにこれらのファイルが入っていました。Xcodeにも入ってるんすね…。

  • /Library/Developer/CommandLineTools/usr/share/git-core/
  • /Applications/エディタ・IDE/Xcode.app/Contents/Developer/usr/share/git-core

お次はこれらのファイルを使って、.bashrcに色々追記します。

2. 必要シェルスクリプトを記入

こちらの参考記事を元に、下記のようなシェルスクリプトを組みます。

source /Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh
source /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true

if [ $UID -eq 0 ]; then
    PS1=$PS1'\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$'
else
    PS1=$PS1'\[\033[31m\]$(__git_ps1)\[\033[00m\]\\$'
fi

<< COMMENTOUT
参考資料: https://qiita.com/hmmrjn/items/60d2a64c9e5bf7c0fe60
- \h: ホスト名
- \u: ユーザ名
- \w: ディレクトリ(フルパス)
- \t: 時間 (24形式)
- \D: 日時
  - \D{%y/%m/%d %H:%M:%S} -> 18/06/20 23:29:38
- \#: コマンドの番号(1, 2, 3...)
- \$: 一般ユーザーの時`$`/rootの時`#`を表示    
COMMENTOUT

なお、プロンプト表記については既存のプロンプト表記に追記してブランチ名を表示させるようにしているので、既にプロンプト表記をカスタマイズしてるよって場合にもやさしいです。
これを~/.bashrcに追記します。
お好みで~/.bash_profile`にも追記を…

3. ~/.bashrcを読み込ませる

source ~/.bashrcで一発です。
これで下記のようにブランチ名が表示されます!

"brew非経由でインストールしたGitでターミナルにブランチ名が表示された画像"
なかなかいい感じじゃないでしょうか

おわりに

割と簡単に実装できて満足です。
Gitほど注目度高いものだと、日本語の参考文献もたくさん出てきてトラブルに困らないですね…。

ではでは|д゚)