Última actualización: 05 de marzo de 2019
Después de 98 votos a favor, creo que necesito dar una respuesta verdadera con la explicación.
¿Por qué el código VS pide una contraseña? Porque VSCode ejecuta la función de recuperación automática, mientras que el servidor git no tiene ninguna información para autorizar su identidad. Sucede cuando:
- Su repositorio de git tiene
https
una URL remota. ¡Si! Este tipo de control remoto le preguntará absolutamente todo el tiempo. No hay excepciones aquí! (Puede hacer un truco temporal para almacenar en caché la autorización como la solución a continuación, pero esto no se recomienda).
- Su repositorio de git tiene
ssl
una URL remota, PERO no ha copiado su clave pública ssh en el servidor git. Use ssh-keygen
para generar su clave y copiarla al servidor git. ¡Hecho! Esta solución también le ayuda a nunca volver a escribir la contraseña en el terminal. Vea una buena instrucción de @Fnatical aquí para la respuesta.
La parte actualizada al final de esta respuesta realmente no te ayuda en absoluto. (Realmente lo hace estancarse en su flujo de trabajo). Solo detiene las cosas que suceden en VSCode y mueve estos eventos al terminal.
Lo siento si esta mala respuesta te ha afectado por mucho, mucho tiempo.
-
la respuesta original (mala)
Encontré la solución en el documento VSCode :
Consejo: debe configurar un asistente de credenciales para evitar que se le pidan credenciales cada vez que VS Code hable con sus controles remotos Git. Si no hace esto, puede considerar deshabilitar la recuperación automática en el menú ... para reducir la cantidad de mensajes que recibe.
Por lo tanto, active el asistente de credenciales para que Git guarde su contraseña en la memoria durante algún tiempo. De forma predeterminada, Git almacenará en caché su contraseña durante 15 minutos.
En Terminal, ingrese lo siguiente:
git config --global credential.helper cache
# Set git to use the credential memory cache
Para cambiar el tiempo de espera predeterminado de la caché de contraseña, ingrese lo siguiente:
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
ACTUALIZACIÓN (si la respuesta original no funciona)
Instalé VS Code y configé lo mismo arriba, pero como dijo @ddieppa, tampoco funcionó para mí. Así que intenté encontrar una opción en Configuración de usuario, y vi "git.autofetch" = verdadero, ¡ahora configuro que es falso! ¡VS Code ya no es necesario para ingresar la contraseña repetidamente!
En el menú, haga clic en Archivo / Preferencias / Configuración de usuario y escriba esto:
Coloque su configuración en este archivo para sobrescribir la configuración predeterminada
{
"git.autofetch": false
}