設定後もGitがコミットを許可しないのはなぜですか?


84

この質問は重複しているように見えますが、実際にはそうではありません。繰り返し続けるほんのわずかな違い。gitは、設定した後も「あなたが誰であるか教えてください」と言い続けます。私が走るときgit commit、これは私が得るものです....

$ git commit

*** 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 (got 'Obby@ObbyWorkstation.(none)')

しかし、私が走るとgit config --global -l、それは私に私のすべての詳細を与えます...

$ git config --global -l
user.name=myname
user.mail=me.myself@gmail.com
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
user.mail=me.myself@gmail.com

おそらく、この記事はあなたの質問への答えかもしれ stackoverflow.com/questions/2936652/...
スミットMunot

@SumitMunot、何か便利なものが見つかりませんでした...マスターブランチだけがあり、他にはありません
Obby 2013

3
@SumitMunot編集を提案するときは、「助けてください」や「よろしくお願いします」などの追加はご遠慮ください。そのようなフレーズは、質問に不要なノイズを追加するため、お勧めできません。また、タイトルを質問に積極的に変更していますが、多くの場合、動詞「Is」が欠落しています。編集を提案するときは、適切な文法を使用していることを確認してください。
psubsee2003 2013

5
それuser.emailはグローバル構成にあるべきではありませんか(電子メールのeに注意してください)?
ルーメン2013

回答:


166

それはタイプミスです。誤ってeuser.mailなしで設定しました。でグローバル構成に設定して修正しますuser.email

git config --global user.email "you@example.com"

ありがとう...私もそれを見つけることができませんでした。
書き直す

くそっ!同じ過ちを犯した。
azmodan 2017

申し訳ありませんが、どこに設定または編集する必要があるのか​​理解できませんでしたか?
cSharma 2017

1
5年後、私は同じ間違いをしました!
ジャラル

タイプミスがどれほど多くの時間を浪費することができるか信じられないほど!相棒、ありがとな!
jaycee

10

グローバルgitオプションを設定していますが、ローカルチェックアウトにオーバーライドが設定されている可能性があります。でもう一度設定してみてくださいgit config --local <setting> <value>.git/configローカルチェックアウトのファイルを見て、チェックアウトで定義されているローカル設定を確認できます。


コントロールパネルでgitデータを消去できます:コントロールパネル→ユーザーアカウント→資格情報マネージャー→Windows資格情報マネージャー。次に、正しいユーザー名とパスワードを使用して再入力します。これは私のために働いた唯一のオプションです。
ソフィークーパーマン2018

3

あなたはローカルを持っていますか、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マシン上のリポジトリごとに設定を解除する必要があります。


0

設定を正しく設定した後でも、この問題が発生しました。 git config

私のシナリオは、スーパーバイザーを介してgitコマンドを発行することでした(Linuxの場合)。さらにデバッグすると、スーパーバイザーはホームフォルダーからgitconfigを読み取っていませんでした。したがって、git configを正しく見つけることができるように、supervisorconfigで環境HOME変数を設定する必要がありました。スーパーバイザーがスーパーバイザーの構成(/etc/supervisor/conf.d)で構成されたユーザー名だけからgit構成を見つけることができなかったのは奇妙です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.