TortoiseGit guardar autenticación de usuario / credenciales

286

¿Hay alguna manera de ahorrar GITHUB's user credentialscon TortoiseGit?

Me muestra el siguiente diálogo cada vez que hago un push / pull.

Me gustaría guardar mi información de credenciales de usuario en algún lugar como lo hice con TortoiseSVN.

ingrese la descripción de la imagen aquí

Murali Murugesan
fuente
También puede usar Credential Manager para guardar / administrar credenciales. stackoverflow.com/a/31782500/730676
user730676

Respuestas:

351

Para TortoiseGit 1.8.1.2 o posterior, hay una GUI para activar / desactivar la ayuda de credenciales.

Es compatible git-credential-wincredy git-credential-winstore.

TortoiseGit 1.8.16 agrega soporte para git-credential-manager(Git Credential Manager, el sucesor de git-credential-winstore)

La primera vez que sincroniza, se le solicita un usuario y una contraseña, los ingresa y se guardarán en el almacén de credenciales de Windows. No pedirá usuario o contraseña la próxima vez que sincronice.

Para usar: Haga clic derecho → TortoiseGit → Configuración → Git → Credencial. Seleccione Credential helper: wincred - solo este repositorio / wincred - usuario actual de Windows

ingrese la descripción de la imagen aquí

linquizar
fuente
40
Ordenado. ¿Ahora cómo lo uso?
BlueRaja - Danny Pflughoeft
16
Haga clic derecho -> TortoiseGit -> Configuración -> Git -> Credencial. Seleccione Credential helper: wincred - this repository only/wincred - current Windows user
linquize
33
No, primero debe habilitar el asistente de credenciales. La primera vez que sincroniza, se le solicita un usuario y una contraseña, los ingresa y se guardarán en el almacén de credenciales de Windows. No pedirá usuario o contraseña la próxima vez que sincronice.
linquize
77
Nota: esto no funcionará si su nombre de usuario contiene un @! Al menos para mí, también este es un error reportado: github.com/msysgit/msysgit/issues/258
OschtärEi
55
Para TortoiseGit 1.8.16 y superior, instale Git Credential Manager para Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - y luego siga las instrucciones anteriores. GCM también maneja los créditos para git dentro de Cygwin / babun, lo cual es bueno.
DrStrangepork
68

Si vas a rechazar esta respuesta

Escribí esto unos meses antes de la inclusión de git-credential en TortoiseGit. Dada la cantidad de grandes agujeros de seguridad encontrados en los últimos años y cuánto he aprendido sobre la seguridad de la red, le recomiendo que utilice una clave SSH única (mínimo RSA de 2048 bits) para cada servidor al que se conecte.

La siguiente sintaxis todavía está disponible, aunque hoy en día hay herramientas mucho mejores disponibles, como git-credentialla respuesta aceptada que le indica cómo usarla. Haz eso en su lugar.


Intente cambiar la URL remota a https://[email protected]/username/repo.gitdónde usernameestá su nombre de usuario de github y repoes el nombre de su repositorio.

Si también desea almacenar la contraseña (no se recomienda), la URL sería el siguiente: https://username:[email protected]/username/repo.git.

También hay otra forma de almacenar la contraseña de este artículo de ayuda de github: https://help.github.com/articles/set-up-git#password-caching

Robert Rouhani
fuente
¿Dónde puedo ver la URL remota? En Configuración -> Remoto -> La URL está vacía. Pero
di
2
Haga clic en "origen" en el menú Remoto para que aparezca la URL
Robert Rouhani
Creo que está funcionando, pero no puedo verificarlo ya que estoy obteniendo 'git no salió limpiamente (código de salida 128)'
Murali Murugesan
¡Vaya! Extraje la URL de un antiguo ejemplo. Un vistazo rápido a uno de mis repositorios muestra que la URL debería ser: https://[email protected]/username/repo.gitdonde ambas instancias usernameson su nombre de usuario. Se actualizó la respuesta.
Robert Rouhani
1
Esto resolvió el problema mucho más rápido y de una manera más simple: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi
25

Ninguna de las respuestas anteriores funcionó para mí usando git versión 1.8.3.msysgit.0 y TortoiseGit 1.8.4.0.

En mi situación particular, tengo que conectarme al repositorio de git remoto a través de HTTPS, usando una dirección de correo electrónico completa como nombre de usuario. En esta situación, wincredno parecía funcionar.

El uso de la dirección de correo electrónico como parte de la URL del repositorio tampoco funcionó, ya que el software parece estar confundido por la doble aparición del carácter '@' en la URL.

Me las arreglé para superar el problema usando winstore. Aquí esta lo que hice:

Esto copiará git-credential-winstore.exea un directorio local y agregará dos líneas a su global .gitconfig. Puede verificar esto examinando su global .gitconfig. Esto se hace más fácilmente con el botón derecho del mouse en una carpeta, "TortoiseGit> Configuración> Git> Editar global .gitconfig". El archivo debe contener dos líneas como:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • No se necesitan otras configuraciones de TortoiseGit en "Red" o "Credencial". En particular: el menú desplegable "Credential helper" debajo de "Credential" se habrá quedado en blanco como resultado de estas líneas de configuración, ya que TortoiseGit no reconoce el nuevo helper. ¡No establezca el menú desplegable en otro valor o el .gitconfig global se sobrescribirá con un valor incorrecto! (*)

Ahora estás listo para ir:

  • Intente extraer desde el repositorio remoto. Notará una ventana emergente de autenticación que le preguntará su nombre de usuario y contraseña, la ventana emergente debería ser visualmente diferente de la ventana emergente predeterminada TortoiseGit. Esta es una buena señal y significa que winstorefunciona. Ingrese la autenticación correcta y la extracción debe tener éxito.
  • Intente el mismo tirón nuevamente, y su nombre de usuario y contraseña ya no deberían ser solicitados.

¡Hecho! Disfrute de sus interacciones con el repositorio remoto mientras winstorese encarga de la autenticación.

(*) Alternativamente, si no le gusta la selección en blanco en el menú desplegable del asistente de configuración de credenciales de TortoiseGit, puede usar la opción "Avanzado":

  • Vaya a "TortoiseGit> Configuración> Credencial"
  • Seleccione Credencial auxiliar "Avanzado"
  • Haga clic en la "G" (para global) en Ayudantes
  • Ingrese la ruta de ayuda como se muestra a continuación. Nota: una notación de ruta de Windows normal (por ejemplo, "C: \ Users ...") no funcionará aquí, debe replicar la línea exacta que la instalación winstorecreó en el global .gitconfsin el bit "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Haga clic en el botón "Agregar nuevo / Guardar"

Patrick Atoon
fuente
Me apuntaste en la dirección correcta. Solo necesitaba usar "wincred - usuario actual de Windows" e ingresar el nombre de usuario NO la dirección de correo electrónico. Eso resolvió todo.
Razze
¡Me alegra que te haya ayudado en el camino correcto! Sin embargo, el punto en mi caso tiene que ver exactamente con el uso de una dirección de correo electrónico. Esto contiene una "@" y causará problemas si prueba una de las otras recetas.
Patrick Atoon
2
Um,% 40 es el código para '@', así que si probaste ' myEmail%[email protected]/username/repo.git ' podrás poner tu dirección de correo electrónico en el archivo .config. Todavía no es recomendable, pero es posible.
Tom Padilla
Esta es la forma correcta y correcta de hacer esto. Descargue el instalador de Microsoft / Git-Credential-Manager-for-Windows / releases , luego haga clic derecho en el setup.exearchivo y ejecútelo como administrador.
8

Para msysgit 1.8.0, descargue git-credential-wincred.exe desde https://github.com/downloads/msysgit/git/git-credential-wincred.zip y póngalo en C: \ Archivos de programa \ Git \ libexec \ git -núcleo

Para msysgit 1.8.1 y posterior, el exe está incorporado.

en git config, agregue la siguiente configuración.

[credencial] ayudante = wincred

linquizar
fuente
¿Dónde encontraste Tortoise Git 1.8.1.2? Solo veo 1.8.1.0 en su sitio
Ken Sykora
TortoiseGit 1.8.1.2 es una versión preliminar.
linquize
8

Guardar nombre de usuario y contraseña con TortoiseGit

Guardar sus datos de inicio de sesión en TortoiseGit es bastante fácil. Ahorra tener que escribir su nombre de usuario y contraseña cada vez que tira o empuja.

  1. Cree un archivo llamado _netrc con el siguiente contenido:

    máquina github.com
    ingrese su
    contraseña de inicio de sesión su contraseña

  2. Copie el archivo a C: \ Users \ (u otra ubicación; esto es donde lo puse)

  3. Vaya al símbolo del sistema, escriba setx home C: \ Users \

Nota: si está utilizando algo anterior a Windows 7, el comando setx puede no funcionar para usted. Utilice set en su lugar y agregue la variable de entorno doméstico a Windows mediante la Configuración avanzada en Mi PC.

CRÉDITO A: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

Anthony Keane
fuente
2
Esa es la mejor solución! Pero, ¿puedes explicar la relación entre _netrc file y git? ¿Puede este archivo almacenar más de un reino?
Alex Byrth
8

Si eres usuario de Windows 10 + TortoiseGit 2.7:

  1. por primera vez, simplemente siga las instrucciones para ingresar sus credenciales y guardar la contraseña.
  2. Si alguna vez necesita actualizar sus credenciales, no pierda su tiempo en la configuración de TortoiseGit. En su lugar, busque en Windows> Administrador de credenciales> Credenciales de Windows> busque su entrada git> Editar.
Denis Wang
fuente
Esta es la respuesta que está buscando, si ha cambiado su contraseña de Windows, y la autenticación Git ya no funciona ... En Windows alemán, busque "Anmeldeinformationsverwaltung".
Andre
omg gracias. Sé que no debemos agregar comentarios con gracias. pero gracias !!
Stephen Hazel
6

Prueba esto:

  1. Ve a tu carpeta de repositorios
  2. Haga clic derecho en el espacio vacío Tortise Git -> Configuración
  3. Tienes credenciales (generalmente ubicado en la barra lateral debajo del menú Git)
  4. En Credential Helper, seleccione Wincred, todos los usuarios de Windows
  5. Presione Aplicar

le pedirá su contraseña solo una vez.

APP
fuente
Utilice el término "TortoiseGit".
Yue Lin Ho
0

Vaya al repositorio del proyecto, haga clic derecho -> 'Git Bash Here'

En las ventanas de git bash, escriba

cd ~
pwd

me sale algo como esto

/c/Users/<windows_username>

Ahora copie sus claves públicas y privadas a esta ruta

C:\Users\<windows_username>\.ssh

Tengo los archivos a continuación allí

id_rsa
id_rsa.pub
known_hosts

aquí

Ahora, cuando necesita usar las credenciales, usa estos archivos y solicita la contraseña si es necesario.

rajeshk
fuente