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.

プロンプトの表示を GitBash 風に改造する

Last updated at Posted at 2018-11-01

前フリ

私がはじめて Git を使ったのは Windows の環境でした。基本的には gitk などの GUI は使わずにコマンドでの操作をメインに覚えました。そのときから私はずっと GitBash を使っており、私と git との歩みは常に傍に GitBash が居たと言っても過言ではありません。

ということで私は GitBash の配色や見た目にすっかり慣れてしまい、他の環境(Macでの作業時や、Linuxのサーバー作業)でも同じようなプロンプトで作業したいと考えるようになったわけです。そもそもデフォルトのプロンプトは個人的に見辛いというのもあります。

■ GitBash 参考画像
2018-11-01_15h17_41.png

やっぱこれですね。わたしはもうこれじゃなきゃだめな体になってしまったようです(;´Д`)ハァハァ

検索してみると、いろんな先人の方々がプロンプトの見た目をカスタムしている事例を見かけました。ただ、GitBash っぽい見た目をゴールにしている(奇特な)例は見た感じなかったので今回は改造例のひとつということで紹介したいとおもいます。

Git 環境

以下の2つで検証済みです。どっちでもいけます。

  1. MacBook(git version 2.19.0)
  2. CentOS(6.x系)のサーバー(git version 1.8.3.1)

必要ファイルの準備

この2つを準備しましょう。

  • git-completion.bash
  • git-prompt.sh

Mac では Homebrew で git をインストールしている場合、一緒にダウンロードされるようです。
私の環境では下記にありましたので一度確認してみてください。

/usr/local/etc/bash_completion.d/git-prompt.sh
/usr/local/etc/bash_completion.d/git-completion.bash

もしなければネットにあるのでダウンロードしてきましょう。
保存場所は任意のフォルダでOKです。私は安直に自分のユーザー直下に落としましたw
一応ファイル名の頭に . をつけて隠しファイルにしておきます。

git-completion.bashのダウンロード
$ wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -O .git-completion.bash
git-prompt.shのダウンロード
$ wget https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh -O .git-prompt.sh

設定ファイルを変更

下記の記述を .git-prompt.sh と .git-completion.bash のパスを前項で取得したものに書き換えた上で、.bash_profile.bashrc 等に追加してください。

.bash_profile(もしくは.bashrc等)
# prompt settings
source {%.git-prompt.sh のパス%}
source {%.git-completion.bash のパス%}
HOST='\u@\h'
PS1="\[\033]0;$HOST\007\]"     # set window title
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'\[\033[32m\]'       # change color
PS1="$PS1"'\u@\h '             # user@host<space>
PS1="$PS1"'\[\033[33m\]'       # change color
PS1="$PS1"'\w'                 # current working directory
if test -z "$WINELOADERNOEXEC"
then
    PS1="$PS1"'\[\033[36m\]'
    PS1="$PS1"'$(__git_ps1)'   # bash function
fi
PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # prompt: always $

設定のネタ元は Git for Windows インストール時に手元に出来た C:\Program Files\Git\etc\bash.bashrc の内容です。これをベースにちょこちょこ変えてます。

設定の反映

お使いのターミナルを起動しなおすか、source コマンドで設定を再読み込みしてください。

完成図

before

beforeMac.png

after

afterMac.png

YESSS!!!
ほぼ GitBash やん。控え目に言って最高かよ(自己満
ちなみに GitBash にはあった MINGW64 の部分は特に必要なかったので移植する際にはプロンプトからカットしました。

以上です。よろしければパクって使ってやってください。

参考

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?