Git
Chapters ▾ 2nd Edition

A1.4 Appendix A: その他の環境でのGit - BashでGitを使う

BashでGitを使う

あなたがBashのユーザであれば、シェルの機能を活用して、Gitをより扱いやすくすることができます。 Gitは実際、いくつかのシェルのプラグインを同梱した状態で配布されていますが、それらプラグインはデフォルトではオンになっていません。

まず、Gitのソースコードから contrib/completion/git-completion.bash ファイルのコピーを取得する必要があります。 取得したファイルをどこか適当な場所(例えばホームディレクトリ)へコピーした上で、 .bashrc に次の内容を追加します。

. ~/git-completion.bash

設定が完了したら、カレントディレクトリをgitリポジトリに変更し、次のようにタイプしてみてください。

$ git chec<tab>

……するとBashがオートコンプリートで git checkout まで入力してくれるはずです。 このオートコンプリートは、必要に応じて、Gitのサブコマンド、コマンドラインパラメータ、リモートおよび参照の名前に対して働きます。

プロンプトをカスタマイズして、カレントディレクトリのGitリポジトリの情報を表示するのも便利です。 表示する内容は、好みに応じてシンプルにも複雑にもできます。ですが、一般的に多くの人は、現在のブランチや作業ディレクトリの状態のような重要な情報だけを必要とします。 プロンプトにこれらを追加するには、Gitのソースリポジトリから contrib/completion/git-prompt.sh ファイルをあなたのホームディレクトリにコピーし、次のような内容を .bashrc に追加します。

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

\w は現在の作業ディレクトリを表示するという意味、\$ はプロンプト末尾に $ を表示するという意味、 __git_ps1 " (%s)"git-prompt.sh が提供している関数を書式引数を指定して呼び出しています。 これで、Gitの制御下にあるプロジェクトの中に入ると、bashのプロンプトは次のようになるはずです。

カスタマイズされた `bash` プロンプト
Figure 161. カスタマイズされた bash プロンプト

これらのスクリプトにはいずれも役に立つドキュメントが付属しています。詳細については、 git-completion.bashgit-prompt.sh の内容を見てください。