为什么Git在配置后甚至不允许我提交?

Obb*_*bby 79 git config commit github

这个问题似乎是重复的,但事实并非如此.只是略有不同,不断重复.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)')
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时git config --global -l,它给了我所有细节......

$ git config --global -l
user.name=myname
user.mail=me.myself@gmail.com
http.proxy=proxy.XX.XX.XX:XXXX
Run Code Online (Sandbox Code Playgroud)

我已经更改了我的名字,电子邮件和代理,但是当我运行命令时它们看起来很好,即使在.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
Run Code Online (Sandbox Code Playgroud)

Lum*_*men 153

这是一个错字.你意外地user.mail没有e.通过user.email在全局配置中设置来修复它

git config --global user.email "you@example.com"
Run Code Online (Sandbox Code Playgroud)

  • 5年后我又犯了同样的错误! (2认同)
  • 令人难以置信的是,一个拼写错误会浪费这么多时间!谢了哥们! (2认同)

she*_*heu 10

您正在设置全局git选项,但本地检出可能已设置覆盖.尝试再次设置它们git config --local <setting> <value>.您可以查看.git/config本地结帐中的文件,以查看结帐已定义的本地设置.


Nat*_*ate 6

你有本地的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=
Run Code Online (Sandbox Code Playgroud)

如果是这样,请将其删除

git config --unset --local user.name
git config --unset --local user.email
Run Code Online (Sandbox Code Playgroud)

本地设置是针对每个克隆的,因此您必须为计算机上的每个存储库取消user.name本地设置。user.email