Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
9
Help us understand the problem. What is going on with this article?
@takuya0301

Bash のプロンプトに Git のブランチ名を表示する

More than 3 years have passed since last update.

Bash のプロンプトに Git のブランチ名を表示する状態でリポジトリの作成からいくつかのファイル操作やコミットやスタッシュを実行した Terminal のスクリーンショット

OS X で環境構築するときに忘れないように Bash のプロンプトに Git のブランチ名を表示する設定をメモっとく。Bash で Git のコマンドをオートコンプリートするの続き。

前提として Homebrew で bash-completion がインストールされていることとする。インストールの詳細はBash で Git のコマンドをオートコンプリートするを参照のこと。

Bash のプロンプトに Git のブランチ名を表示する

Git を Homebrew でインストールしている場合

Homebrew で Git をインストールすると git-prompt.sh が /usr/local/etc/bash_completion.d/ にインストールされる。その場合は設定を .bash_profile に追加するだけでいい。

Git を Homebrew でインストールしていない場合

Homebrew で Git をインストールしていない場合は手動で git-prompt.sh を /usr/local/etc/bash_completion.d/ にインストールする必要がある。下記のコマンドで git-prompt.sh をダウンロードしてくることで Apple Git でも Bash のプロンプトに Git のブランチ名を表示することができる。

$ curl -o "/usr/local/etc/bash_completion.d/git-prompt.sh" https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh

.bash_profile で設定する

あとは下記のように .bash_profile を設定する。

$ cat <<EOF >> ~/.bash_profile
> if type __git_ps1 > /dev/null 2>&1 ; then
>   PROMPT_COMMAND="__git_ps1 '\h:\W \u' '\\\$ '; $PROMPT_COMMAND"
>   GIT_PS1_SHOWDIRTYSTATE=true
>   GIT_PS1_SHOWSTASHSTATE=true
>   GIT_PS1_SHOWUNTRACKEDFILES=true
>   GIT_PS1_SHOWUPSTREAM="auto"
>   GIT_PS1_SHOWCOLORHINTS=true
> fi
> EOF

PROMPT_COMMAND は OS X 標準の PS1 設定における $ 記号の直前に Git のブランチ名を表示するように設定している。好みの表示になるように PROMPT_COMMAND は適宜変更してほしい。なお各設定項目の概要は下記のとおり。

  • ファイル変更の有無 (GIT_PS1_SHOWDIRTYSTATE)
  • スタッシュの有無 (GIT_PS1_SHOWSTASHSTATE)
  • 新規ファイルの有無 (GIT_PS1_SHOWUNTRACKEDFILES)
  • HEAD とそのアップストリームの違い (GIT_PS1_SHOWUPSTREAM)
  • 表示内容のカラー化 (GIT_PS1_SHOWCOLORHINTS)

参考文献

9
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
takuya0301
Mikatus 株式会社の VP Engineering 兼デザイングループグループリーダー。最近は Event Storming と Lagom に興味がある。
mikatus
税理士・会計事務所向けクラウドシステムの企画、開発、提供事業を行っております。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
9
Help us understand the problem. What is going on with this article?