はじめに
この実験では、Git の設定を確認する方法、特にグローバル設定に焦点を当てて学びます。まず、git config --global --list を使用してすべてのグローバル Git 設定を一覧表示し、名前、メールアドレス、およびデフォルトブランチのデフォルト設定を理解します。
その後、git config --global <setting_name> を使用して、ユーザー名やメールアドレスなどの特定のグローバル設定の値を確認する方法を探ります。最後に、グローバルとローカルの Git 設定を比較し、それらの適用範囲の違いと、Git プロジェクトに与える影響を理解します。
git config --global --list を実行する
このステップでは、システム上の Git の設定方法を調べ始めます。Git は設定ファイルを使用して、名前、メールアドレス、好みのテキストエディタなどの設定を保存します。これらの設定は、グローバル(すべての Git プロジェクトに適用)またはローカル(特定のプロジェクトに適用)に適用できます。
まずはグローバル設定を見てみましょう。ここには、すべての Git リポジトリに適用される設定が保存されています。
ターミナルを開き、次のコマンドを実行します。
git config --global --list
このコマンドは、Git にグローバル設定ファイル内のすべての設定を一覧表示するよう指示します。
次のような出力が表示されるはずです。
user.name=Jane Doe
user.email=jane.doe@example.com
init.defaultBranch=master
この出力は、実験環境がセットアップされたときに自動的に構成されたグローバル設定を示しています。
user.name: これはコミットに関連付けられる名前です。user.email: これはコミットに関連付けられるメールアドレスです。init.defaultBranch: これは新しいリポジトリを作成するときの初期ブランチのデフォルト名を設定します。
Git の設定を理解することは重要です。なぜなら、これがコミットの記録方法や Git の一般的な動作に影響を与えるからです。--global フラグは、これらの設定がこのシステム上のすべてのリポジトリに適用されることを保証します。
次のステップでは、特定の設定を確認する方法を見ていきます。
git config で特定の設定を確認する
前のステップでは、すべてのグローバル Git 設定を一覧表示しました。次に、特定の設定の値を確認する方法を学びましょう。これは、ユーザー名やメールアドレスなど、特定の 1 つの設定項目の値だけを知りたい場合に便利です。
git config コマンドに設定名を指定し、--global フラグを付けることで、特定の設定値を確認できます。
たとえば、設定されているユーザー名を確認するには、次のコマンドを実行します。
git config --global user.name
設定時に構成されたユーザー名が表示されるはずです。
Jane Doe
同様に、設定されているメールアドレスを確認するには、次のコマンドを実行します。
git config --global user.email
これにより、メールアドレスが出力されます。
jane.doe@example.com
そして、新しいリポジトリのデフォルトブランチ名を確認するには、次のコマンドを実行します。
git config --global init.defaultBranch
これにより、次のように表示されます。
master
git config --global <setting> を使用すると、すべての設定を一覧表示することなく、特定のグローバル設定の値をすぐに取得できます。このコマンドは、特定の設定が正しく構成されていることを確認するのに役立ちます。
次のステップでは、グローバルとローカルの Git 設定の違いを調べます。
グローバル設定とローカル設定を比較する
Git には異なるレベルの設定があります。すでに --global 設定を見てきましたが、これはすべてのリポジトリに適用されます。また、--local 設定もあり、これは現在いる特定のリポジトリにのみ適用されます。ローカル設定は、その特定のリポジトリに関してグローバル設定を上書きします。
リポジトリのローカル設定を確認するには、Git リポジトリの中にいて、git config --local --list を実行する必要があります。この実験ではまだ新しいリポジトリを作成していないので、現時点でこのコマンドを実行するとエラーになります。
まず、新しいディレクトリを作成し、その中に Git リポジトリを初期化しましょう。これは「初めての Git 実験」で行ったのと同じです。
mkdir my-local-repo
cd my-local-repo
git init
初期化メッセージが表示されるはずです。
Initialized empty Git repository in /home/labex/project/my-local-repo/.git/
これで my-local-repo ディレクトリ(これは Git リポジトリです)の中にいるので、そのローカル設定を確認できます。
git config --local --list
この特定のリポジトリにはまだローカル設定が設定されていないため、出力がないか、非常に少ない出力が表示されるでしょう。
では、グローバル設定と異なるローカル設定を設定しましょう。たとえば、この特定のリポジトリに異なる user.name を設定します。
git config --local user.name "Local User"
このコマンドは、my-local-repo に対して具体的に user.name を設定します。
再度、ローカル設定を一覧表示しましょう。
git config --local --list
これで、ローカルの user.name が表示されるはずです。
user.name=Local User
最後に、--global または --local を指定せずに user.name を要求した場合に何が起こるかを見てみましょう。Git は設定を次の順序で探します:ローカル、グローバル、そしてシステム。最初に見つかった設定が使用されます。
my-local-repo の中にいる状態でこのコマンドを実行します。
git config user.name
ローカル設定がグローバル設定を上書きするため、ローカルのユーザー名が表示されるはずです。
Local User
次に、~/project ディレクトリ(my-local-repo の外)に戻ります。
cd ~/project
そして、同じコマンドを再度実行します。
git config user.name
今回は、ローカル設定のあるリポジトリの中にいないため、Git はグローバル設定を使用します。
Jane Doe
これは、ローカル設定がグローバル設定よりも優先されることを示しています。これにより、個々のプロジェクトに特定の設定を持ちながら、他のすべてのプロジェクトに対して一般的な設定を維持することができます。
まとめ
この実験では、Git の設定を確認する方法を学びました。まず、git config --global --list を使用して、user.name、user.email、init.defaultBranch などのすべてのグローバル設定を表示し、それらの目的と --global フラグがすべてのリポジトリに適用される仕組みを理解しました。
次に、git config --global <setting_name> を使用して特定のグローバル設定の値を確認する方法を調べました。これは、ユーザー名やメールアドレスなどの個々の設定値をすぐに取得するのに便利です。



