¿Por qué Git no me permite comprometerme incluso después de la configuration?

Esta pregunta parece un duplicado, pero realmente no lo es. Solo una pequeña diferencia que sigue repitiéndose. git sigue diciéndome: "por favor dime quién eres", incluso después de configurarlo. cuando ejecuto git commit , esto es lo que obtengo …

 $ 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 '[email protected](none)') 

Pero cuando ejecuto git config --global -l , me da todos mis detalles …

 $ git config --global -l user.name=myname [email protected] http.proxy=proxy.XX.XX.XX:XXXX 

He cambiado mi nombre, mi correo electrónico y mi proxy pero están apareciendo bien cuando ejecuto el command, incluso en el file .gitconfig puedo ver que los valores están establecidos. lo que podría ser lo que falta, porque no puedo comprometerme en absoluto. ¿Siempre me pregunta quién soy?

@sheu me dijo algo que cambié, pero sigue siendo el mismo problema. cuando configuro --local , still git commit me hace la misma pregunta. esta es la salida

 $ 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] 

Eso es un error tipográfico Has configurado accidentalmente user.mail sin e . Solucionarlo configurando user.email en la configuration global con

 git config --global user.email "[email protected]" 

Está configurando las opciones globales de git, pero es probable que el process de pago local tenga habilitadas las modificaciones. Intente configurarlos nuevamente con git config --local <setting> <value> . Puede ver el file .git/config en su caja local para ver qué configuraciones locales ha definido el pago.

¿Tiene un user.name o user.email local que está anulando el global?

 git config --list --global | grep user user.name=YOUR NAME [email protected] git config --list --local | grep user user.name=YOUR NAME user.email= 

Si es así, eliminarlos

 git config --unset --local user.name git config --unset --local user.email 

La configuration local es por clonación, por lo que tendrá que desactivar el nombre de user.name local y el user.email de user.email para cada uno de los repositorys de su máquina.