Estoy tratando de comprometerme con un proyecto en github.com desde mi computadora portátil de trabajo, que ya está configurada para el servidor git de la empresa. ¿Hay alguna manera de confirmar la especificación de diferentes credenciales de autor, posible usando un archivo de configuración diferente u otros modificadores de línea de comando?
He intentado usar
--author="My Name <[email protected]>"
y recibí el mensaje:
Committer: unknown <[email protected]>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email [email protected]
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
pero todavía no actualizó mi nombre de usuario para comprometerme con el proyecto github.com. ¿Hay algo más que pueda probar y es posible?
-c user.name=Me [email protected]
. Para usar una configuración global personalizada, vea esta pregunta o use un alias de shell que contenga-c
opciones. Pero ninguno de estos es probablemente lo correcto en esta situación: desea una configuración por repositorio.{author,committer}.{name,email}
. Vea mi respuesta a continuaciónRespuestas:
Primero, el autor no es necesariamente el mismo que el autor. Git rastrea ambos.
Para establecer qué nombre usar solo para este repositorio, puede hacer lo siguiente:
Note la ausencia de la
--global
opción. Esto establecerá la configuración solo en este repositorio.Alternativamente, puede hacer esto con un solo comando, usando la
-c
opción:Pero creo que es mejor usar las opciones de configuración anteriores.
fuente
Intenta anteponer esto a tu comando git:
Esto está bien para una sola vez, pero podría preferir guardarlo en el archivo .git / config del repositorio local que clonó desde git. Esto se puede hacer ejecutando
git config
(no --global o --system para que sea "local al repositorio") o editando.git/config
(es la misma sintaxis que~/.gitconfig
fuente
.bash_aliases
, y / o también puede establecer un gancho de confirmación previa para rechazar la confirmación cuando el usuario no está definido.También podría establecer las variables de entorno
GIT_COMMITTER_NAME
,GIT_COMMITTER_EMAIL
,GIT_AUTHOR_NAME
, yGIT_AUTHOR_EMAIL
en función de cada concha o incluso por mando.fuente
git commit --amend
. Solo cambió el autor.git commit --amend --author="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"
git commit --amend
a que el diseño no altera al autor, como dice la página de manual. Solución:git commit --amend --reset-author
Creo que podrías correr:
para diferentes partes de git. Intente abrir la carpeta donde se está realizando el trabajo para el repositorio en el servidor github.
Asegúrese de ver una carpeta .git en esa carpeta de trabajo. Ahora abra esa carpeta en Terminal / Console / CommandPrompt e intente cambiar el nombre de usuario y el correo electrónico para esa carpeta solo ejecutando los comandos que especifiqué anteriormente.
Al cambiar eso, ahora puede acceder al servidor de GitHub.
Echar un vistazo aquí: https://help.github.com/articles/setting-your-username-in-git
Además, creo que hay una manera de enviar a un repositorio remoto usando su nombre de usuario y contraseña de github en el comando mismo, pero no lo estoy citando porque no funcionó para mí.
fuente
Continuando con la respuesta de Jesse Glick aquí con una implementación ampliada porque, en mi opinión, su sugerencia es la mejor manera de hacerlo.
Agregue lo siguiente a su .bash_profile. Le pedirá un usuario cuando ejecute por primera vez cualquier comando git en el shell activo. Luego recordará al usuario para todas las ejecuciones posteriores.
(obviamente, haga una referencia cruzada de un valor de usuario de entrada para los nombres y direcciones de correo electrónico deseados exactos para los diversos valores de autor / nombre de git en el bloque de casos y actualice las asignaciones según sea necesario)
fuente
En realidad, desde Git 2.22 (Q2 2019) tiene una nueva opción:
{author,committer}.{name,email}
se han introducido cuatro nuevas variables de configuración para anularlasuser.{name,email}
en casos más específicos.Consulte la confirmación 39ab4d0 (4 de febrero de 2019) de William Hubbs (``) .
(Combinado por Junio C Hamano -
gitster
- en el compromiso 4e021dc , 07 de marzo de 2019)fuente