¿Por qué Git no me permite comprometerme incluso después de la configuración?

84

Esta pregunta parece un duplicado, pero en realidad no lo es. Solo una pequeña diferencia que se sigue repitiendo. git sigue diciéndome: "por favor dime quién eres", incluso después de configurarlo. cuando corro 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 'Obby@ObbyWorkstation.(none)')

Pero cuando corro 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, correo electrónico y proxy, pero aparecen bien cuando ejecuto el comando, incluso en el archivo .gitconfig puedo ver que los valores están configurados. lo que podría ser lo que falta, porque no puedo comprometerme en absoluto. ¿Cada vez me sigue preguntando quién soy?

@sheu me dijo algo que cambié, pero sigue siendo el mismo problema. cuando lo configuro --local, todavía git commitme 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]
Obby
fuente
Quizás esta publicación pueda ser la respuesta a su pregunta stackoverflow.com/questions/2936652/…
Sumit Munot
@SumitMunot, no pude encontrar algo útil ... solo tengo la rama maestra y ninguna otra
Obby
3
@SumitMunot cuando sugiera modificaciones, absténgase de agregar cosas como "Por favor, ayuda" y "Gracias de antemano". Se desaconsejan frases como esa, ya que añaden ruido innecesario a la pregunta. Además, está cambiando activamente los títulos a las preguntas, pero en muchos casos falta el verbo "Es". Asegúrese de utilizar la gramática adecuada cuando sugiera modificaciones.
psubsee2003
5
¿No debería estar user.emailen la configuración global (tenga en cuenta la e en el correo electrónico)?
Lumen

Respuestas:

166

Eso es un error tipográfico. Accidentalmente ha configurado user.mailsin e . Solucionarlo estableciendo user.emailen la configuración global con

git config --global user.email "[email protected]"
Lumen
fuente
gracias ... ni siquiera pude ver eso. el problema de presionar la flecha hacia arriba en lugar de escribir de nuevo
Obby
¡Oh demonios! Cometió el mismo error.
azmodan
lo siento, pero no pude entender dónde debo configurar o editar.
cSharma
1
¡5 años después y cometí el mismo error!
Jalal
¡Increíble cómo un error tipográfico puede hacer perder tanto tiempo! ¡gracias amigo!
Jaycee
10

Está configurando las opciones globales de git, pero el pago local posiblemente tenga configuradas anulaciones. Intente configurarlos de nuevo con git config --local <setting> <value>. Puede mirar el .git/configarchivo en su pago local para ver qué configuraciones locales ha definido el pago.

ella u
fuente
Puede borrar sus datos de git en el panel de control: Panel de control → Cuentas de usuario → Administrador de credenciales → Administrador de credenciales de Windows. Luego, vuelva a ingresarlo con el nombre de usuario y la contraseña correctos. Esta es la única opción que funcionó para mí.
Sophie Cooperman
3

¿Tiene un local user.nameo user.emailestá anulando el global?

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=

Si es así, quítelos

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

La configuración local es por clonación, por lo que tendrá que desarmar el local user.namey user.emailpara cada uno de los repositorios en su máquina.

Nate
fuente
0

Tuve este problema incluso después de configurar la configuración correctamente. git config

Mi escenario fue emitir el comando git a través del supervisor (en Linux). En la depuración adicional, el supervisor no estaba leyendo la configuración de git de la carpeta de inicio. Por lo tanto, tuve que configurar la variable de entorno HOME en la configuración del supervisor para que pueda ubicar la configuración de git correctamente. Es extraño que el supervisor no haya podido localizar la configuración de git solo desde el nombre de usuario configurado en la configuración del supervisor (/etc/supervisor/conf.d).

mente curiosa
fuente