この質問は重複しているように見えますが、実際にはそうではありません。繰り返し続けるわずかな違い。 gitは、設定した後でも「あなたが誰であるかを教えてください」と言い続けます。 git commit
を実行すると、これが得られます。..
$ git commit
*** Please tell me who you are.
Run
git config --global user.email "[email protected]"
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 (got 'Obby@ObbyWorkstation.(none)')
しかし、git config --global -l
を実行すると、すべての詳細が表示されます...
$ git config --global -l
user.name=myname
[email protected]
http.proxy=proxy.XX.XX.XX:XXXX
名前、メール、プロキシを変更しましたが、コマンドを実行すると、.gitconfigファイルでも値が設定されていることがわかります。私はまったくコミットできないため、不足している可能性があります。私が誰であるかを尋ね続けるたびに?
@sheuは、私が変更したことを教えてくれましたが、それでも同じ問題です。 --local
を設定しても、git commit
は同じ質問をします。これは出力です
$ git config --local -l
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
user.name=myname
[email protected]
それはタイプミスです。誤ってuser.mail
をeなしで設定しました。グローバル設定でuser.email
を設定して修正します
git config --global user.email "[email protected]"
グローバルgitオプションを設定していますが、ローカルチェックアウトにオーバーライドが設定されている可能性があります。 git config --local <setting> <value>
でもう一度設定してみてください。ローカルチェックアウトの.git/config
ファイルを見て、チェックアウトが定義したローカル設定を確認できます。
グローバルuser.name
またはuser.email
があり、グローバルなものをオーバーライドしていますか?
git config --list --global | grep user
user.name=YOUR NAME
user.email=YOUR@EMAIL
git config --list --local | grep user
user.name=YOUR NAME
user.email=
もしそうなら、それらを削除します
git config --unset --local user.name
git config --unset --local user.email
ローカル設定はクローンごとであるため、マシンの各リポジトリのローカルuser.name
およびuser.email
の設定を解除する必要があります。