为什么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,我找不到有用的东西...我只有master分支,没有其他分支
Obby 2013年

3
@SumitMunot在建议编辑时,请不要添加“请帮助”和“预先感谢”之类的内容。不鼓励这样的短语,因为它们会给问题增加不必要的噪音。另外,您正在积极地将标题更改为问题,但在许多情况下都缺少动词“ Is”。建议编辑时,请确保使用正确的语法。
psubsee2003

5
它不应该user.email处于全局配置中吗(请注意电子邮件中的e)?
Lumen

Answers:


166

这是一个错字。您不小心设置user.mail了没有e。通过设置user.email全局配置来修复它

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

谢谢...我什至无法发现。按下向上箭头而不是重新书写的问题
Obby 2013年

哦,该死的!犯了同样的错误。
阿兹莫丹'17

抱歉,但我不知道需要在哪里设置或进行编辑?
cSharma

1
5年后,我犯了同样的错误!
Jalal

难以置信的错字怎么会浪费这么多时间!谢了哥们!
jaycee

10

您正在设置全局git选项,但是本地结帐可能已设置了替代项。尝试再次使用设置它们git config --local <setting> <value>。您可以.git/config在本地结帐中查看文件,以查看结帐已定义了哪些本地设置。


您可以在控制面板中擦除git数据:控制面板→用户帐户→凭据管理器→Windows凭据管理器。然后使用正确的用户名和密码重新输入。这是唯一对我有用的选择。
索菲·库珀曼

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

我的情况是通过主管(在Linux中)发出git命令。在进一步调试中,主管没有从主文件夹中读取git config。因此,我必须在超级用户配置中设置环境HOME变量,以便它可以正确定位git配置。奇怪的是,主管无法仅从主管的配置(/etc/supervisor/conf.d)中配置的用户名找到git配置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.