Git
目次 ▾ 第2版

A1.6 付録A: その他の環境におけるGit - BashにおけるGit

BashにおけるGit

Bashユーザーであれば、シェルの機能を利用してGitの操作性を向上させることができます。Gitにはいくつかのシェル用のプラグインが同梱されていますが、デフォルトでは有効になっていません。

まず、使用しているGitリリースのソースコードから補完ファイルのコピーを取得する必要があります。`git version`と入力してバージョンを確認し、`git checkout tags/vX.Y.Z`(ここで`vX.Y.Z`は使用している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プロンプトは次のようになります。

Customized `bash` prompt
図184. カスタマイズされた`bash`プロンプト

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

scroll-to-top