章 ▾ 第2版

1.6 始める - 初めてのGitセットアップ

初めてのGitセットアップ

システムにGitがインストールされたら、Git環境をカスタマイズするためにいくつかの作業を行う必要があります。これらの作業は、特定のコンピューター上で一度だけ行えばよく、アップグレード後も設定は保持されます。コマンドを再実行することでいつでも変更できます。

Gitには、Gitの外観と動作のあらゆる側面を制御する設定変数を取得および設定できるgit configというツールが付属しています。これらの変数は、3つの異なる場所に保存できます。

  1. [path]/etc/gitconfigファイル: システム上のすべてのユーザーとすべてのリポジトリに適用される値が含まれます。--systemオプションをgit configに渡すと、このファイルからのみ読み書きします。これはシステム設定ファイルであるため、変更するには管理者またはスーパーユーザーの権限が必要です。

  2. ~/.gitconfigまたは~/.config/git/configファイル: ユーザーであるあなた個人に固有の値です。--globalオプションを渡すことで、Gitにこのファイルから読み書きさせることができ、これはシステム上のすべてのリポジトリに影響します。

  3. 現在使用しているリポジトリのGitディレクトリ(つまり.git/config)内のconfigファイル: その単一のリポジトリに固有です。--localオプションを使用すると、Gitにこのファイルから読み書きさせることができますが、これは実際にはデフォルトです。当然のことながら、このオプションを正しく機能させるには、Gitリポジトリ内にいる必要があります。

各レベルは前のレベルの値を上書きするため、.git/configの値は[path]/etc/gitconfigの値を優先します。

Windowsシステムでは、Gitは$HOMEディレクトリ(ほとんどのユーザーはC:\Users\$USER)で.gitconfigファイルを探します。また、[path]/etc/gitconfigも探しますが、これはMSysルートに対する相対パスであり、インストーラーを実行するときにWindowsシステムにGitをインストールした場所によって異なります。Git for Windowsのバージョン2.x以降を使用している場合、Windows XPではC:\Documents and Settings\All Users\Application Data\Git\configに、Windows Vista以降ではC:\ProgramData\Git\configにシステムレベルの設定ファイルもあります。この設定ファイルは、管理者としてgit config -f <file>でのみ変更できます。

以下のコマンドを使用して、すべての設定とその取得元を表示できます。

$ git config --list --show-origin

あなたの身元

Gitをインストールしたら、まずユーザー名とメールアドレスを設定する必要があります。これは、すべてのGitコミットでこの情報が使用され、作成を開始するコミットに不変的に組み込まれるため、重要です。

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

繰り返しになりますが、--globalオプションを渡せば、この作業は一度だけで済みます。そうすれば、Gitは常にそのシステム上のユーザーに対してその情報を使用するからです。特定のプロジェクトで異なる名前やメールアドレスで上書きしたい場合は、そのプロジェクトにいるときに--globalオプションなしでコマンドを実行できます。

多くのGUIツールは、初回起動時にこれを設定するのに役立ちます。

あなたのエディター

身元情報が設定されたので、Gitがメッセージを入力する必要があるときに使用されるデフォルトのテキストエディターを設定できます。設定されていない場合、Gitはシステムのデフォルトエディターを使用します。

Emacsなどの別のテキストエディターを使用したい場合は、次のようにします。

$ git config --global core.editor emacs

Windowsシステムで別のテキストエディターを使用したい場合は、その実行可能ファイルへのフルパスを指定する必要があります。これは、エディターのパッケージ方法によって異なる場合があります。

人気のあるプログラミングエディターであるNotepad++の場合、執筆時点では64ビット版がすべてのプラグインをサポートしていないため、おそらく32ビット版を使用したいと思うでしょう。32ビットWindowsシステムを使用している場合、または64ビットシステムで64ビットエディターを使用している場合は、次のように入力します。

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
注記

Vim、Emacs、Notepad++は、LinuxやmacOSなどのUnix系システムやWindowsシステムで開発者によく使用される人気のテキストエディターです。別のエディターや32ビット版を使用している場合は、お好みのエディターをGitで設定する方法について、git config core.editor コマンドで具体的な手順を確認してください。

警告

このようにエディターを設定しないと、Gitがエディターを起動しようとしたときに非常に混乱した状態になる可能性があります。Windowsシステムでの例としては、Gitが開始した編集中にGit操作が prematurely terminated(早期終了)する場合があります。

デフォルトのブランチ名

デフォルトでは、Gitはgit initで新しいリポジトリを作成すると、masterというブランチを作成します。Gitバージョン2.28以降では、初期ブランチに別の名前を設定できます。

mainをデフォルトのブランチ名に設定するには、次のようにします。

$ git config --global init.defaultBranch main

設定の確認

設定を確認したい場合は、git config --listコマンドを使用して、その時点でGitが見つけられるすべての設定を一覧表示できます。

$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

Gitは異なるファイル(例えば、[path]/etc/gitconfig~/.gitconfig)から同じキーを読み込むため、キーが複数回表示されることがあります。この場合、Gitは各一意のキーについて最後に読み込んだ値を使用します。

また、git config <key>と入力することで、特定のキーの値がGitによってどのように認識されているかを確認することもできます。

$ git config user.name
John Doe
注記

Gitは同じ設定変数の値を複数のファイルから読み込む可能性があるため、予期しない値が設定されており、その理由がわからない場合があります。そのような場合、その値の起源についてGitに問い合わせることができ、Gitはその値を設定する最終的な決定権を持っていた設定ファイルを教えてくれます。

$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig	false
scroll-to-top