2010-10-14 17:17:28 +0000 2010-10-14 17:17:28 +0000
174
174

¿Cómo me aseguro de que Git no me pida mi nombre de usuario y contraseña de GitHub?

Estoy trabajando con un repo en GitHub y cada vez que intento empujar algo, me pide mi nombre de usuario y contraseña de GitHub. No quiero que haga eso.

He intentado las instrucciones de configurar tu correo electrónico en Git , es decir, configurar las variables de Git github.user y github.token, pero no ha servido de nada.

No entiendo por qué está pasando esto.

Respuestas (12)

215
215
215
2011-08-08 22:36:29 +0000

Tuve un problema similar hoy: Metí la pata en mi copia de trabajo, así que decidí renombrar el directorio y clonar mi proyecto de nuevo desde Github. Pero después de hacer eso, tuve que introducir mi contraseña para hacer cualquier petición pull/push, en lugar de introducir la frase de contraseña una sola vez como solía hacer.

¡Eso fue porque hoy usé el protocolo https para clonar el proyecto! Para comprobar qué protocolo estás usando sólo tienes que ejecutar

git config -l

y mirar la línea que empieza con ‘remote.origin.url’.

Para cambiar de protocolo:

git config remote.origin.url git@github.com:the_repository_username/your_project.git

the_repository_username y your_project deben ser reemplazados por el nombre del repositorio apropiado y el propietario de ese repositorio. El nombre de usuario será tuyo si eres el dueño del repositorio, o el nombre de usuario del dueño del repositorio en caso contrario.

34
34
34
2010-10-14 17:28:04 +0000

Necesitas crear un agente de seguridad contra el cual sólo necesitas autenticarte una vez. Mira esta respuesta en el SO para saber como hacerlo.

31
31
31
2013-12-03 22:40:15 +0000

Si está usando HTTPS en lugar de SSH , puede seguir esto :

  1. Encuentra tu URL remoto (remote.origin.url) con

  2. Tu URL remoto será así : https://{USERNAME}@github.com/{USERNAME}/{REPONAME}.git

  3. Ejecuta este comando:

26
26
26
2014-11-21 04:27:04 +0000

Prefiero usar HTTPS, lo encuentro más fácil y seguro que configurar las teclas ssh.

Usando HTTPS, puedes evitar que git te pida tu nombre de usuario para los mandos de github con lo siguiente:

git config --global url."https://yourusername@github.com".insteadOf "https://github.com"

Y puedes al menos reducir la frecuencia con la que git te pide la contraseña con:

git config --global credential.helper 'cache --timeout=28800'

Donde 28800 son 8 horas. Uso esta configuración para introducir mi contraseña sólo una vez, cuando empiezo mi día de trabajo.

Después de eso tendrás estas entradas dentro de tu ~/.gitconfig

[url "https://yourusername@github.com"]
    insteadOf = https://github.com

[credential]
    helper = cache --timeout=28800

Fuente: http://git-scm.com/docs/git-credential-cache http://git-scm.com/docs/git-config

6
6
6
2014-02-23 11:54:29 +0000

Si estás en Windows usando HTTPS, prueba con Git Credential Store - usa la tienda de credenciales de Windows para guardar tu nombre y contraseña.

Windows Credential Store for Git
This application is a small helper app designed to follow the 
git credentials API as defined by the Git Documentation.

Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.

La próxima vez que introduzcas tu nombre y contraseña los recordará por ti.

6
6
6
2010-10-14 19:45:54 +0000

Cuando configures una tecla ssh para github, si no es tu tecla por defecto, tendrás que añadir una sección a tu ~/.ssh/config

Host *github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa
5
5
5
2013-08-11 03:17:37 +0000

Además, si desea que se le pida su contraseña cada vez, pero no su nombre de usuario, entonces configura el control remoto como HTTPS con un nombre de usuario… Así…

git config remote.origin.url https://USERNAME@github.com/repo_owner/repo_name

Después de esto, se te pedirá tu contraseña cada vez, pero no tu nombre de usuario.

Así es como lo prefiero, ya que me gusta que me obliguen a escribir mi contraseña github antes de compartir con el mundo.

2
2
2
2014-09-25 19:45:49 +0000

Las cosas son un poco diferentes si usas la autenticidad de dos factores como yo. Ya que no encontré una buena respuesta en otro lugar, voy a pegar una aquí para que tal vez pueda encontrarla más tarde.

Si estás usando el Autenticación de 2 factores, entonces especificar el nombre de usuario/contraseña no funcionará - se te negará el acceso. Pero puedes usar un token de acceso a la aplicación y usar el ayudante de credenciales de Git para guardar eso en caché. Aquí están los enlaces pertinentes:

Y no recuerdo dónde vi esto, pero cuando te piden tu nombre de usuario - ahí es donde metes el token de acceso a la aplicación. Luego dejas la contraseña en blanco. Funcionó en mi Mac.

2
2
2
2016-06-19 21:27:34 +0000

Para evitar que GitHub te pida la contraseña mientras presionas, lo ideal sería usar SSH (git@github.com:...) en lugar de la URL HTTPS (https://github.com/...) y añadir la clave SSH a tu cuenta GitHub . Mira: ¿Qué URL remota debería usar?

un ayudante con credenciales

De lo contrario, si realmente necesitas usar HTTPS, para guardar en caché tu contraseña de GitHub en Git , deberías usar un ayudante con credenciales para decirle a Git que recuerde tu nombre de usuario y contraseña de GitHub cada vez que hable con él.

  • Mac: git config --global credential.helper osxkeychain (osxkeychain helper es obligatorio),
  • Windows: git config --global credential.helper wincred
  • Linux y otros: git config --global credential.helper cache

.netrc

Otro método es usar configurar tu usuario/contraseña en ~/.netrc (_netrc en Windows), e. g.

machine github.com
login USERNAME
password PASSWORD

OAuth

Use OAuth token Personal API token ) para empujar los cambios, por ejemplo

git push https://4UTHT0KEN@github.com/foo/bar

Relacionado:

1
1
1
2016-06-05 12:21:50 +0000

Pedir el nombre de usuario es molesto para mí, pero pedir una contraseña es agradable ya que asegura que realmente quieres hacer públicos tus cambios…

Así que sólo añado esto a mi “.gitconfig”

[url "https://myusername@github.com"]
    insteadOf = https://github.com
1
1
1
2016-04-05 14:31:43 +0000

Además, si usas Windows, puedes usar:

$ git config --global credential.helper wincred

Sólo tienes que iniciar sesión una vez más y entonces git lo recordará.

0
0
0
2016-07-07 13:37:29 +0000

Usa Git Credential Manager for Windows , si estás en Windows.

Este proyecto incluye :

  • Almacenamiento seguro de contraseñas en la tienda de credenciales de Windows
  • Soporte de autenticación multifactorial para Visual Studio Team Services
  • Soporte de autenticación de dos factores para GitHub
  • Generación de tokens de acceso personal y soporte de uso para Visual Studio Team Services y GitHub
  • Soporte de modo no interactivo para Visual Studio Team Services respaldado por Azure Directory
  • Autenticación Kerberos para Team Foundation Server
  • Configuración opcional para la optimización del agente de construcción

Simplemente descargar la última versión e instalarlo.

Como usar

No lo haces. Por arte de magia, (https://github.com/Microsoft/Git-Credential-Manager-for-Windows/issues/31) funciona cuando se necesitan credenciales.