Estoy trabajando con un repositorio en GitHub y cada vez que intento presionar algo, me pide mi nombre de usuario y contraseña de GitHub. No quiero que haga eso.
Intenté las instrucciones para configurar su correo electrónico en Git , es decir, configurar las variables Gitub.user y github.token, pero eso no hizo ninguna diferencia.
No entiendo por qué está sucediendo esto.
Respuestas:
Necesita configurar un agente ssh contra el cual solo necesita autenticarse una vez. Vea esta respuesta en SO para obtener un tutorial.
fuente
Tuve un problema similar hoy: desordené las cosas en mi copia de trabajo, así que decidí cambiar el nombre del directorio y clonar mi proyecto nuevamente desde github. Pero después de hacer eso, tuve que ingresar mi contraseña para hacer cualquier solicitud de extracción / inserción, en lugar de ingresar la frase de contraseña solo una vez como solía hacerlo.
¡Eso fue porque hoy usé el protocolo https para clonar el proyecto! Para verificar qué protocolo estás usando solo ejecuta
y mira la línea que comienza con 'remote.origin.url'.
Para cambiar de protocolo:
the_repository_username
yyour_project
debe reemplazarse con el nombre del repositorio apropiado y el propietario de ese repositorio. El nombre de usuario será suyo si posee el repositorio, o el nombre de usuario del propietario del repositorio de lo contrario.fuente
[email protected]:some-user/repo-name.git
remote.origin.url
conjunto para el método https y ni siquiera noté que había métodoshttps
vs.ssh
Esta URL me ayudó a ver lo obvio: help.github.com/articles/…git config remote.origin.url ...
usado anteriormente, frentegit remote set-url origin ...
?git remote rm origin
Si está utilizando HTTPS en lugar de SSH, puede seguir esto:
Encuentra tu URL remota (remote.origin.url) con
gracias a Sergio Morstabilini
Su URL remota será así: https: // {USERNAME} @ github.com / {USERNAME} / {REPONAME} .git
Ejecute este comando:
fuente
@
, no funcionó para mí..git/config
archivo!Prefiero usar HTTPS, me parece más fácil y más seguro que configurar las teclas ssh.
Usando HTTPS, puede evitar que git solicite a su nombre de usuario controles remotos de github con lo siguiente:
Y al menos puede reducir la frecuencia que git solicita su contraseña con:
Donde 28800 son 8 horas. Utilizo esta configuración para ingresar mi contraseña solo una vez, cuando comienzo mi jornada laboral.
Después de eso, tendrá estas entradas dentro de su
~/.gitconfig
Fuente:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
fuente
Cuando configura una clave ssh para github, si no es su clave predeterminada, deberá agregar una sección a su
~/.ssh/config
fuente
Si está en Windows usando HTTPS, pruebe el Git Credential Store , que usa Windows Credential Store para guardar su nombre y contraseña.
Luego, la próxima vez que ingrese su nombre y contraseña, los recordará por usted.
fuente
Además, si desea que se le solicite su contraseña cada vez, pero no su nombre de usuario, configure el control remoto como HTTPS con un nombre de usuario. De esta manera ...
Después de esto, se le pedirá su contraseña cada vez, pero no su nombre de usuario.
Así es como lo prefiero, ya que me gusta que me obliguen a escribir mi contraseña de github antes de compartirla con el mundo.
fuente
Las cosas son un poco diferentes si estás usando autenticación de 2 factores como yo. Como no encontré una buena respuesta en otro lugar, pegaré una aquí para que pueda encontrarla más tarde.
Si está utilizando la autenticación de 2 factores, la especificación de nombre de usuario / contraseña no funcionará: se le denegará el acceso. Pero puede usar un token de acceso a la aplicación y usar el asistente de credenciales de git para almacenarlo en caché. Aquí están los enlaces pertinentes:
Y no recuerdo dónde vi esto, pero cuando le piden su nombre de usuario, ahí es donde pega el token de acceso a la aplicación. Luego deje la contraseña en blanco. Trabajó en mi mac.
fuente
usar SSH
Para evitar que GitHub solicite la contraseña mientras presiona, lo ideal es usar SSH (
[email protected]:...
) en lugar de HTTPS URL (https://github.com/...
) y agregar su clave SSH a su cuenta de GitHub . Ver: ¿Qué URL remota debo usar?un ayudante de credencial
De lo contrario, si realmente necesita usar HTTPS, para almacenar en caché su contraseña de GitHub en Git , debe usar un asistente de credenciales para decirle a Git que recuerde su nombre de usuario y contraseña de GitHub cada vez que habla con GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
es obligatorio),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Otro método es usar configurar su usuario / contraseña en
~/.netrc
(_netrc
en Windows), por ejemploOAuth
Use el token OAuth ( token de API personal ) para impulsar los cambios, por ejemplo
Relacionado:
fuente
Además, si está utilizando Windows, puede usar:
solo tienes que iniciar sesión una vez más y luego git lo recordará.
fuente
Pedir el nombre de usuario es molesto para mí, pero pedir una contraseña es bueno, ya que garantiza que realmente quieras hacer públicos tus cambios ...
Así que solo agrego esto a mi ".gitconfig"
fuente
Use Git Credential Manager para Windows , si está en Windows.
Simplemente descargue la última versión e instálela.
fuente