2013年2月2日土曜日

Git 補完・ブランチ名表示 メモ

2013/11/01追記
新しい環境で書き直しました。
ネタ帳 A.B.C: Git 補完・ブランチ名表示 メモ(2013.11)
http://neta-abc.blogspot.jp/2013/11/git-201311.html

環境

Mac OS X Lion
git version 1.7.7.5 (Apple Git-26)
※今回はXcode(Command Line Tools for Xcode?)付属のGitを使う
Xcode 4.5.2

Git 1.8.0からはファイル構成が変わっているので下記参照
Wokashi
gitでプロンプトにブランチを表示したり、コマンドを補完したり
http://mironal-memo.blogspot.jp/2012/08/git-completion.bash.html

git-completion.bashのコピー

cp /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash ~/.git-completion.sh

.bashrcの設定

.bashrcに下記を追加
source ~/.git-completion.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWUPSTREAM=auto
export PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
各行の意味
1行目:補完の有効化
2-5行目:リポジトリ状態の通知設定(詳細は動作確認の項を参照)
6行目:bashプロンプトの表示形式・色の設定

.bashrcが存在しない場合は新規作成
Macのデフォルトでは.bashrcを読み込む設定になっていないようなので
下記サイトを参考に.bash_profileの設定を行う
こちらも存在しない場合は新規作成

ふってもハレても
macに.bashrcを作成したときのメモ
http://d.hatena.ne.jp/sho-yamasaki/20120505/1336222634

動作確認

下記のコマンドで.bashrcの設定を読み込む or ターミナルを再起動
source ~/.bashrc
ローカルリポジトリに移動するとブランチ名が表示される
補完は[tab]キー
補完候補が複数ある場合は[tab]キーを2回で補完候補一覧が表示される

GIT_PS1_SHOWDIRTYSTATE=true
addされていない変更がある場合は*を表示
commitされていない変更がある場合は+を表示

GIT_PS1_SHOWSTASHSTATE=true
stashがある場合は$を表示
GIT_PS1_SHOWUNTRACKEDFILES=true
addされていない新規ファイルがある場合は%を表示

GIT_PS1_SHOWUPSTREAM=auto
upstreamと同期している場合は=を表示
upstreamより進んでいる場合は>を表示
upstreamより遅れている場合は<を表示
補足

git-completion.bashの場所が分からない場合は下記からダウンロードできる
バージョンの切り替えは[branch] -> [Tags]から

参考にしたサイト

アインシュタインの電話番号
MacのターミナルでGitのブランチ名を表示する

0 件のコメント:

コメントを投稿