経緯
Gitでコミットしようとしたところ以下のエラーになりました。
$ git commit -m "commit message"
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"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address
コミットするためにはユーザー情報の設定が必要というエラーです。メッセージの通り$ git config --global
でemail, nameを永続的に登録すればコミットできるようになります。
しかし、筆者の場合は社内の共有環境でしたので、--global
を使用して自分の情報が永続的に登録されるのは避けたい状況でした。
解決策
以下のように、コマンド実行時にGIT_AUTHOR_NAME
, GIT_AUTHOR_EMAIL
, GIT_COMMITTER_NAME
, GIT_COMMITTER_EMAIL
といった環境変数でemail, nameを指定することで、コマンドを実行すことができます(プッシュ時も同様です)。
GIT_AUTHOR_NAME="Your Name" GIT_AUTHOR_EMAIL="your-email@example.com" GIT_COMMITTER_NAME="Your Name" GIT_COMMITTER_EMAIL="your-email@example.com" git commit -m "Commit Message"
参考