Git初コミットでエラー?「Author identity unknown」の解決策とgit configのプロパティ(system/global/local)

1. 最初のコミットでエラーが出たら

git commit を実行した際に、以下のようなメッセージが表示されて止まってしまった場合の対処法を伝えます。

表示されるエラーメッセージ:

Author identity unknown
*** Please tell me who you are.
Run
  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

原因の解説: Gitは「誰がこの変更を行ったか」という履歴(コミットログ)を記録するため、名前とメールアドレスの設定が必須です。

gitでコミットしたときに出るエラー,auther identity unknownの対処法とgit configのglobal local systemの違い

2. クイック解決:まずはこれだけ入力!

まずは作業を進めるために、以下のコマンドをターミナルで実行しましょう。GitHubなどのサービスを利用している場合は、登録しているメールアドレスと名前に合わせるのが一般的です。

# 名前を設定
git config --global user.name "自分の名前"

# メールアドレスを設定
git config --global user.email "mail@example.com"

ポイント ここで設定した情報は、公開リポジトリ(GitHubなど)にプッシュした際、世界中の誰でも閲覧できるようになります。本名を出したくない場合は、ハンドルネーム等でも問題ありません。

3. 深掘り:git config の3つのスコープ

なぜ --global というオプションを付けるのか? 他にどんな設定があるのかを比較・解説します。

スコープ設定対象保存場所(例)主な用途
systemシステム全ユーザー/etc/gitconfigPC全体での共通設定(滅多に使わない)
globalログインユーザー~/.gitconfig基本はこれ。 全てのプロジェクトで共通の設定
local特定のリポジトリ.git/config仕事用と個人用でメアドを使い分けたい時など

4. 設定の優先順位(どっちが勝つの?)

もし複数のスコープで異なる値が設定されていた場合、Gitは「より範囲が狭い(具体的な)設定」を優先します。

優先順位: localglobalsystem

【具体例】 普段は global で個人のメールアドレスを設定しているけれど、会社や特定のプロジェクト用リポジトリだけは仕事用のメールアドレスを使いたい……という場合。

そのプロジェクトのディレクトリ内で、以下のコマンドを実行します。

git config --local user.email "work@example.com"

こうすることで、そのリポジトリに限って local 設定が優先され、使い分けが可能になります。

5. 応用:現在の設定を確認する方法

「今、どの設定が生きているのか?」を確認するには、以下のコマンドが便利です。

設定値を一覧表示する

git config --list

「どこで設定されたか」も含めて表示する(おすすめ!)

git config --list --show-origin

※これを使うと、どのファイル(/etc/gitconfig なのか ~/.gitconfig なのか)に書かれた設定が読み込まれているか一目瞭然です。

特定の項目だけ確認する

git config user.name

6. まとめ:最初に一度設定すればOK

  1. 基本は global で自分の情報を登録する
  2. 設定はホームディレクトリの .gitconfig に保存される
  3. 必要に応じて local で上書きできる

この仕組みを理解しておけば、今後PCを新調したり、サーバー環境を構築したりする際もスムーズに対応できるはずです。