Git --distributed-is-the-new-centralized
Chapters ▾

1.5 使い始める - 最初のGitの構成

最初の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ディレクトリ(環境変数USERPROFILEで指定)の中の.gitconfigファイルを検索に行きます。$HOMEディレクトリはほとんどの場合 C:\Documents and Settings\$USERC:\Users\$USER のいずれかです($USERは環境変数USERNAMEで指定)。また、インストーラー時にWindowsシステムに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