这个问题似乎是重复的,但事实并非如此。只是略有不同,不断重复。 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
答案 0 :(得分:150)
这是一个错字。您无意中将user.mail
设为 e 。通过使用
user.email
来修复它
git config --global user.email "you@example.com"
答案 1 :(得分:10)
您正在设置全局git选项,但本地结帐可能已设置覆盖。尝试使用git config --local <setting> <value>
重新设置它们。您可以查看本地结帐中的.git/config
文件,了解结帐已定义的本地设置。
答案 2 :(得分: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
。
答案 3 :(得分:0)
即使正确设置了配置,我仍然遇到此问题。 git config
我的情况是通过主管(在Linux中)发出git命令。在进一步调试中,主管没有从主文件夹中读取git config。因此,我必须在超级用户配置中设置环境HOME变量,以便它可以正确定位git配置。奇怪的是,主管无法仅通过主管的配置(/etc/supervisor/conf.d)中配置的用户名找到git配置。