GItクライアントを便利にする方法
以下のことを実現します。
Gitコマンドの自動補完
Gitのプロンプトの表示を変更
Windowsの場合、デフォルトでは2行表示されているものが1行に出来たり、素敵。
↓
やり方
vi ~/.bashrc
.bashrc
source .git-completion.bash
source .git-prompt.sh
# プロンプトに各種情報を表示
GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUPSTREAM=1
GIT_PS1_SHOWUNTRACKEDFILES=
GIT_PS1_SHOWSTASHSTATE=1
############### ターミナルのコマンド受付状態の表示変更
# \u ユーザ名
# \h ホスト名
# \W カレントディレクトリ
# \w カレントディレクトリのパス
# \n 改行
# \d 日付
# \[ 表示させない文字列の開始
# \] 表示させない文字列の終了
# \$ $
export PS1='\[\033[1;32m\]\u\[\033[00m\]:\[\033[1;34m\]\w\[\033[1;31m\]$(__git_ps1)\[\033[00m\] \$ '
#export PS1='\[\033[m\]\[\033[37;1m\]\W\[\033[m\]\[\033[1;33m\]$(__git_ps1)\[\033[00m\]\$ ' #コンパクト
##############
設定ファイルはこれでOK
後は、最初の2行で読み込んでいるファイルをダウンロードしましょう。
.git-completion.bash
.git-prompt.sh
install
#ダウンロード
wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion.bash
wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh -O ~/.git-prompt.sh
#macの場合、パーミッションを変えるのを忘れずに
chmod a+x ~/.git-completion.bash
chmod a+x ~/.git-prompt.sh
・Macでこれだけだと読み込まれない場合、.bash_profileファイルに以下のコードが必要。
存在しない場合は新規作成する。
Mac OS Xはデフォルトで.bashrcを読み込まないらしい
~/.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
PS1の設定 解説
bashには、プロンプトを制御するために「PS1」という環境変数が使用されている。
このPS1変数は、exportコマンドを使いさまざまな特殊文字コードを利用すれば、表示形式を変更することが可能
GIT_PS1_SHOWUPSTREAM
現在のブランチがupstreamより進んでいるとき>
遅れているとき<
遅れてるけど独自の変更もあるとき<>
を表示
GIT_PS1_SHOWUNTRACKEDFILES
addされてない新規ファイルがあるとき%
を表示
GIT_PS1_SHOWSTASHSTATE
stashになにか入っている(stashed)とき$
を表示
GIT_PS1_SHOWDIRTYSTATE
addされてない変更(unstaged)があったとき*
addされているがcommitされていない変更(staged)があったとき+
を表示