3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

macのプロンプトにブランチを表示させる

Last updated at Posted at 2019-01-26

背景

gitの操作をターミナルで行なっているのに、作業しているブランチが見えないのは不便ですよね。
ということで今回はプロンプトにブランチをいい感じに表示させる方法を紹介します。

対象者

  • UNIX系のコマンドに慣れている、もしくは調べれば分かる人
  • Gitの基礎ワードが分かる、もしくは調べれば分かる人

作業環境

MacOS Sierra Ver 10.12.6
git version 2.19.0

事前準備

ブランチを表示させるには**git-prompt.sh**(プロンプトに各種追加情報を表示可能にするスクリプト)が必要です。

まずはmdfindコマンドで上記ファイルが存在することを確認しましょう。
既にインストールされていれば、以下のようにファイルパスが表示されます。

$ mdfind git-prompt.sh
/usr/local/git/contrib/completion/git-prompt.sh
/Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh

インストールされていなければ、リンクを参考にするとインストールできると思います。

設定方法

ブランチ名を表示させるために.bashrcを編集します。

  • .bashrcは通常ログインシェルがbashを起動したときに読み込むファイルでホームディレクトリに配置されています。.bashrcが存在しない場合はリンクを参考にしてファイルを作成してください。

それではここから設定していきましょう。

  1. .bashrcにプロンプト表示設定を入れる。
    ターミナルで以下のコマンドを実行して.bashrcに設定を追記します。

    $ cat << EOF >> .bashrc
    source /usr/local/git/contrib/completion/git-prompt.sh   #git-prompt.sを読み込む
    export PS1='\[\[\033[32m\]\u:\[\033[34m\]\W\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
    

    ※ なおPS1はプロンプトの表示フォーマットを指定する環境変数ですので、上記のコマンドを実行後プロンプトが以下の形式に変わります。

    [ログインユーザ]:[カレントディレクトリのベース名] [ブランチ名]

    もし現在の設定を引き継ぎたい場合は$(__git_ps1)\[\033[00m\]\$のみをexport PS1=~に追記してください。

  2. .bashrcの設定を反映させる
    ターミナルで以下のコマンドを実行し手順1で設定した内容をプロンプトに反映させます。

    $ source .bashrc
    

    コマンドを実行したら、ローカルリポジトリへ移動してみてください。
    プロンプトにブランチ名が表示されていると思います。


User_Name:current_dir $ cd [ローカルリポジトリ名]
User_Name:current_dir (branch_name #) $ 

さいごに

設定作業おつかれさまでした。
今回はブランチ名をプロンプトに表示できるよう設定方法を書きましたが、人によってはブランチ名以外にも表示させたいことがあると思います。
環境変数PS1の設定次第で表示内容だけでなく、色なども自由にカスタマイズできるので興味のある方は調べてみてください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?