Estoy tratando de confirmar algunos cambios como un usuario diferente, pero no tengo una dirección de correo electrónico válida, el siguiente comando no funciona para mí:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
Tengo el mismo problema cuando intento comprometerme solo con una dirección de correo electrónico
git commit --author="[email protected]" -m "some fix"
fatal: No existing author found with '[email protected]'
En las páginas de manual de GIT para el comando commit dice que puedo usar el
standard A U Thor <[email protected]> format
Para la opción --autor.
¿Dónde se define este formato? ¿Qué significan A y U? ¿Cómo me comprometo para un usuario diferente con solo un nombre de usuario o solo un correo electrónico?
Respuestas:
El formato de autor mínimo requerido, como se sugiere en esta respuesta SO , es
En tu caso, esto significa que quieres escribir
Según el comentario de Willem D'Haeseleer, si no tiene una dirección de correo electrónico, puede usar
<>
:Como está escrito en la
git commit
página de manual a la que se vinculó, si proporciona algo menos que eso, se utiliza como un token de búsqueda para buscar confirmaciones anteriores, buscando otras confirmaciones de ese autor.fuente
"name <>"
, ygit commit --amend
después, fallará coninvalid ident
error; así que no lo hagasEl formato específico es:
fuente
los
Parece definirse de la siguiente manera: (que yo sepa, sin ninguna garantía)
AU Thor = nombre de usuario requerido
<[email protected]> = dirección de correo electrónico opcional
Si no usa esta sintaxis exacta, git buscará a través de las confirmaciones existentes y utilizará la primera confirmación que contiene la cadena proporcionada.
Ejemplos:
Solo nombre de usuario
Omita la dirección de correo electrónico explícitamente:
Solo correo electrónico
Técnicamente esto no es posible. Sin embargo, puede ingresar la dirección de correo electrónico como nombre de usuario y omitir explícitamente la dirección de correo electrónico. Esto no parece ser muy útil. Creo que tendría aún más sentido extraer el nombre de usuario de la dirección de correo electrónico y luego usarlo como nombre de usuario. Pero si tienes que:
Me encontré con esto cuando trataba de convertir un repositorio de mercurial a git. Probé los comandos en msysgit 1.7.10.
fuente
Solo suplemento:
En algunos casos, la confirmación aún falla y le muestra el siguiente mensaje:
Así que simplemente ejecute "git config", luego "git commit"
fuente
Formato
simplemente significa que debes especificar
Parece que el segundo nombre y el apellido son opcionales (tal vez la parte anterior al correo electrónico no tiene un formato estricto). Pruebe, por ejemplo, esto:
Como dicen los documentos:
Si no usa este formato, git trata la cadena proporcionada como un patrón e intenta encontrar un nombre coincidente entre los autores de otras confirmaciones.
fuente
La
--author
opción no funciona:Esto hace:
fuente
git commit -c user.name="j bloggs" -am "message"
da un errorfatal: Option -m cannot be combined with -c/-C/-F
Abre Git Bash.
Establecer un nombre de usuario Git:
$ git config --global user.name "name family" Confirme que ha configurado el nombre de usuario Git correctamente:
$ git config - nombre de usuario global
Establecer un correo electrónico de Git:
$ git config --global user.email [email protected] Confirme que ha configurado el correo electrónico Git correctamente:
$ git config: usuario global correo electrónico
fuente
Todo depende de cómo te comprometas.
Por ejemplo:
git commit -am "Some message"
usará su
~\.gitconfig
nombre de usuario. En otras palabras, si abre ese archivo, debería ver una línea que se ve así:Ese sería el correo electrónico que desea cambiar. Si está haciendo una solicitud de extracción a través de Bitbucket o Github, etc., será quien sea que haya iniciado sesión.
fuente
Una alternativa si la preocupación es ocultar la dirección de correo electrónico real ... Si se está comprometiendo con Github, no necesita un correo electrónico real que pueda usar
<username>@users.noreply.github.com
Independientemente de usar Github o no, probablemente primero quieras cambiar los detalles de tu committer (en el uso de Windows
SET GIT_...
)Luego establece el autor
https://help.github.com/articles/keeping-your-email-address-private
fuente
Ejecute estos dos comandos desde la terminal para configurar el correo electrónico y el nombre del usuario
fuente