Acabo de perder un montón de repositorios de mi disco, así que los cloné desde GitHub. Ahora piden nombre de usuario y contraseña cada vez que inserto algo en GitHub. Los que no han sido eliminados no lo hacen.
La única solución que he leído para deshacerme de la solicitud de nombre de usuario / contraseña es generar la clave ssh. La cosa es que ya tengo una clave, de lo contrario no podría presionar sin indicaciones en esos repositorios, que no cloné.
He buscado git config
dos de mis repositorios, uno que puedo insertar sin contraseña y otro que he clonado. La única diferencia era branch.master.remote
y la branch.master.merge
configuración, que desactivé, haciendo git config
lo mismo. Pero el aviso sigue ahí.
Ni siquiera estoy seguro de que generar una nueva clave ssh funcione. ¿Cuáles son mis opciones?
Respuestas:
Mi conjetura:
Sus viejos repositorios usaban remotos SSH (
[email protected]:
ossh://[email protected]/
prefijos), que usaban autenticación de clave pública. (De hecho, el servidor Github SSH nunca solicita una contraseña).Sus nuevos repositorios usan controles remotos HTTP ( ), que solo admiten autenticación básica HTTP basada en contraseña y no usan sus claves SSH.
https://username@github.com/
Cambie sus URL remotas para usar SSH nuevamente. Use
git remote set-url
o edite.git/config
para hacer esto. Reemplazarcon tan solo
Incluso puede tener una entrada en su
~/.gitconfig
que le dice a git que traduzca URL remotas de HTTP o Git a SSH.De esta manera, si su repositorio está configurado para un HTTP o Git remoto, git ignorará esa configuración al presionar y usará SSH en su lugar.
(También
insteadOf =
es posible una configuración, para anular tanto jalar como empujar).fuente