章 ▾ 第2版

A1.6 付録A: 他の環境でのGit - BashでのGit

BashでのGit

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

まず、使用しているGitリリースのソースコードから補完ファイル(completions file)のコピーを取得する必要があります。git versionと入力してバージョンを確認し、vX.Y.Zが使用しているGitのバージョンに対応するgit checkout tags/vX.Y.Zを使用してください。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.bashgit-prompt.shの内容を参照してください。

scroll-to-top