最初のGitの構成
今や、Gitがシステムにあります。Git環境をカスタマイズするためにしたい事が少しはあることでしょう。アップグレードの度についてまわるので、たった一度でそれらを終わらすべきでしょう。またそれらは、またコマンドを実行することによっていつでも変更することができます。
Gitには、git configと呼ばれるツールが付属します。これで、どのようにGitが見えて機能するかの全ての面を制御できる設定変数を取得し、設定することができます。これらの変数は三つの異なる場所に格納されうります:
/etc/gitconfig
file: システム上の全てのユーザーと全てのリポジトリに対する設定値を保持します。もし--system
オプションをgit config
に指定すると、明確にこのファイルに読み書きを行ないます。~/.gitconfig
file: 特定のユーザーに対する設定値を保持します.--global
オプションを指定することで、Gitに、明確にこのファイルに読み書きを行なわせることができます。- 現在使っている、あらゆるリポジトリのGitディレクトリの設定ファイル(
.git/config
のことです): 特定の単一リポジトリに対する設定値を保持します。それぞれのレベルの値は以前のレベルの値を上書きするため、.git/config
の中の設定値は/etc/gitconfig
の設定値に優先されます。
Windows環境下では、Gitは$HOME
ディレクトリ(ほとんどのユーザーはC:\Documents and Settings\$USER
)(訳者注:環境変数USERPROFILE
で指定される)の中の.gitconfig
ファイルを検索に行きます。また、インストーラー時にWidnowsシステムにGitをインストールすると決めたところにある、MSysのルートとの相対位置であったとしても、/etc/gitconfigも見に行きます。
個人の識別情報
Gitをインストールしたときに最初にすべきことは、ユーザー名とE-mailアドレスを設定することです。全てのGitのコミットはこの情報を用いるため、これは重要で、次々とまわすコミットに永続的に焼き付けられます:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
また、もし--global
オプションを指定するのであれば、Gitはその後、そのシステム上で行なう(訳者注:あるユーザーの)全ての操作に対して常にこの情報を使うようになるため、この操作を行なう必要はたった一度だけです。もし、違う名前とE-mailアドレスを特定のプロジェクトで上書きしたいのであれば、そのプロジェクトの(訳者注:Gitディレクトリの)中で、--global
オプション無しでこのコマンドを実行することができます。
エディター
今や、個人の識別情報が設定され、Gitがメッセージのタイプをさせる必要があるときに使う、標準のテキストエディターを設定できます。標準では、Gitはシステムのデフォルト・エディターを使います。これは大抵の場合、ViかVimです。Emacsのような違うテキスト・エディターを使いたい場合は、次のようにします:
$ git config --global core.editor emacs
diffツール
設定したいと思われる、その他の便利なオプションは、マージ(訳者注:複数のリポジトリを併合すること)時の衝突を解決するために使う、標準のdiffツールです。vimdiffを使いたいとします:
$ git config --global merge.tool vimdiff
Gitはkdiff3、tkdiff、meld、xxdiff、emerge、vimdiff、gvimdiff、ecmerge、opendiffを確かなマージ・ツールとして扱えます。カスタム・ツールもまた設定できますが、これをする事に関しての詳細な情報は第7章を参照してください。
設定の確認
設定を確認したい場合は、その時点でGitが見つけられる全ての設定を一覧するコマンドであるgit config --list
を使う事ができます:
$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Gitは異なったファイル(例えば/etc/gitconfig
と~/.gitconfig
)から同一のキーを読み込むため、同一のキーを1度以上見ることになるでしょう。この場合、Gitは見つけたそれぞれ同一のキーに対して最後の値を用います。
また、Gitに設定されている特定のキーの値を、git config {key}
をタイプすることで確認することができます:
$ git config user.name
Scott Chacon