Tengo servidores de aplicaciones que arranco juntos usando Chef + algunos scripts de bash ad-hoc. El problema es que, cuando quiero ejecutar una actualización en uno de estos servidores de aplicaciones, obtengo:
19:00:28: *** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
¿Realmente necesito configurar esto para hacer un simple git pull origin master
cada vez que actualizo un servidor de aplicaciones? ¿Hay alguna forma de anular este comportamiento para que no se produzca un error cuando no se configuran el nombre y el correo electrónico?
git pull
va a crear una confirmación, porque se fusionó, por ejemplo.Respuestas:
Paso muchas horas cuando llamo al script php para iniciar y confirmar git. Y encontré que el flujo de trabajo debería ser:
Si intercambia [23] y 1, la configuración no funcionará en absoluto.
Desearía que esto ayude un poco.
fuente
--global
interruptor a losgit config
comandos y hacerlo una vez para su cuenta del sistema operativo. Después de eso, los pasos 2-3 no son necesarios.En lugar de hacer un
git pull
, puedes hacer:Ninguno de los dos requiere que configure su nombre de usuario / correo electrónico de git.
Esto destruirá los cambios / confirmaciones locales no confirmados, y dejará que su HEAD apunte a una confirmación (no una rama). Pero ninguno de los dos debería ser un problema para un servidor de aplicaciones, ya que no debería realizar cambios locales ni comprometerse con ese repositorio.
fuente
git fetch && git reset --hard HEAD
?git reset --hard HEAD
simplemente descarta tus cambios no comprometidos, no cambia en qué se basa tu espacio de trabajo (ya que, por definición, ya estás en HEAD)Si está utilizando sourcetree: Repository -> Configuración de repositorio -> Avanzado -> desmarque la casilla "Usar configuración de usuario global"
funcionó muy bien para mí
fuente
funciona para mí, intente esto ... necesita configurar su terminal con acceso remoto.
fuente
Actualice su proceso de bootstrap para crear un
${HOME}/.gitconfig
contenido adecuado o para copiar uno existente desde algún lugar.fuente
Esto funciono muy bien para mi.
fuente
El mismo problema fue conmigo y lo resolvió agregando el nombre predeterminado y la configuración del repositorio de correo electrónico.
Como Doron sugirió:
Si está utilizando sourcetree: Repositorio -> Configuración del repositorio -> Avanzado -> desmarque la casilla "Usar configuración de usuario global".
Agregar nombre predeterminado y dirección de correo electrónico.
fuente
En mi caso, me faltaba "e" en la palabra "correo electrónico" como dijo Chad anteriormente, pero veo que no es el caso con usted. Presiona el siguiente comando para ver si todo funciona como se esperaba.
fuente
Debe escribir su correo electrónico así
Luego: escriba el nombre de usuario
Después de que aparezca la ventana de Poupup
Escriba USERNAME & EMAIL para la cuenta que desea contribuir
fuente
Para mí, el problema era la conexión de red, una vez que me volví a conectar a mi wifi, podría obtener los detalles y confirmar sin ningún problema.
fuente
Solo se preguntará una vez y se asegurará de que la clave pública rsa para esta máquina se agregue a su cuenta de github a la que está intentando comprometer o pasar una solicitud de extracción.
Se puede encontrar más información sobre esto: aquí
fuente
Tenía esto como un mensaje de error defectuoso:
git pull
funcionó bien en la línea cmdgit pull
falló en un proceso de Perl CGI (un webhook para auto-desplegar desde github) con el error anterior.Haciendo un
git status
identificado un archivo en conflicto. Ordenarlo solucionó el problema.El problema volvió a ocurrir más tarde cuando cambié algunas configuraciones.
Esta vez, la configuración de $ HOME y $ USER env vars lo arregló (no están configurados por defecto en un proceso CGI)
fuente
Echa un vistazo al archivo de configuración.
Repositorio> Configuración del repositorio> Editar archivo de configuración.
Verifique si la
[user]
sección existe. Si falta la sección de usuario, agréguela.Ejemplo:
fuente
uso heroku cli 1. debe usar todo el nombre de usuario y correo electrónico del usuario
$ git config --global user.email .login email.
$ git config - nombre de usuario global. nombre de heroe.
git add *
5 git commit -m "después de config user.name, user email"
git push heroku master
fuente
Utilizo Jenkins y me encontré con este problema al intentar realizar una versión (que requiere un git commit). Para solucionar los problemas, necesitaba agregar un nombre de usuario personalizado / dirección de correo electrónico (ver imagen) Esto aseguró que cuando se desprotegió el código, usé el nombre / dirección de correo electrónico de mi usuario de compilación al realizar el lanzamiento. Tenga en cuenta que esta configuración está disponible en la configuración del proyecto Jenkins Multibranch Pipeline.
fuente
git pull
No debería requerir esto. Sin embargo, si el tirón causa un conflicto de fusión, entonces parece un desastre.fuente
En mi humilde opinión, la forma correcta de resolver este error es configurar su archivo de configuración global de git.
Para hacerlo, ejecute el siguiente comando:
git config --global -e
Aparecerá un editor donde puede insertar sus configuraciones predeterminadas de git.
Aquí hay algunos:
Para más detalles, vea Personalizar Git - Configuración de Git
Cuando veas un comando como
git config
...... puede poner eso en su archivo de configuración global de git como:
Para configuraciones únicas, puede usar algo como
git config --global user.name 'your_username'
Si no establece sus configuraciones de git a nivel mundial, deberá hacerlo para todos y cada uno de los repositorios de git con los que trabaje localmente.
Las configuraciones user.name y user.email le dicen a git quién eres, por lo que los
git commit
comandos posteriores no se quejarán,*** Please tell me who you are.
Muchas veces, los comandos que git sugiere que ejecutes no son lo que debes ejecutar. Esta vez, los comandos sugeridos no son malos:
Consejo: Hasta que me familiaricé con git, hacer una copia de seguridad de mi archivo de proyecto, antes de ejecutar los comandos sugeridos de git y explorar cosas que pensé que funcionaría, salvó mi tocino en más de unas pocas ocasiones.
fuente
No puede detectar automáticamente la dirección de correo electrónico.
Por defecto, toma su nombre de usuario del sistema como
[email protected]
.Por lo tanto, debe configurar su correo electrónico como a continuación:
Después de configurar el correo electrónico, puede ejecutar los comandos git y confirmar sus cambios.
fuente
Me encontré con este mensaje de error al intentar confirmar algunos archivos.
Simplemente ejecutar y
git fetch
luego intentar mi commit nuevamente funcionó para mí.fuente
Para solucionarlo, uso: git config --global user.email "[email protected]" y funciona.
user.mail no funciona, ¿necesita poner un E. Typo quizás?
fuente
Eso es un error tipográfico. Ha configurado accidentalmente "user.mail" sin " e ". Fijarlo mediante el establecimiento de "usuario. Correo electrónico" en la configuración global con
git config --global user.email "[email protected]"
Solución encontrada aquí
https://stackoverflow.com/a/14662703
fuente