En estos días, cuando creo un nuevo repositorio en GitHub en la página de configuración, obtengo:
git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master
Y cada vez que tengo que enviar una confirmación, debo ingresar mi nombre de usuario y contraseña de GitHub.
Puedo cambiar eso manualmente a
[email protected]:nikhilbhardwaj/abc.git
en el .git/config
. Esto me parece bastante irritante: ¿hay alguna forma de configurar git para usar SSH de forma predeterminada?
insteadOf
truco ha existido desde al menos 2012. También vea Cómo convertir lasgit:
URL enhttp:
URL .Respuestas:
Configurar la rama de origen de un repositorio para que sea SSH
La página de configuración del repositorio de GitHub es solo una lista sugerida de comandos (y GitHub ahora sugiere usar el protocolo HTTPS). A menos que tenga acceso administrativo al sitio de GitHub, no conozco ninguna forma de cambiar sus comandos sugeridos.
Si prefiere usar el protocolo SSH, simplemente agregue una rama remota como esta (es decir, use este comando en lugar del comando sugerido de GitHub). Para modificar una rama existente, consulte la siguiente sección.
Modificar un repositorio preexistente
Como ya sabe, para cambiar un repositorio preexistente para usar SSH en lugar de HTTPS, puede cambiar la URL remota dentro de su
.git/config
archivo.Un atajo es usar el
set-url
comando:Más información sobre el conmutador SSH-HTTPS
fuente
set-url
ayúdame! Muchas gracias !GitHub
BitBucket
Eso le dice a git que siempre use SSH en lugar de HTTPS cuando se conecte a GitHub / BitBucket, por lo que se autenticará por certificado de forma predeterminada, en lugar de que se le solicite una contraseña.
fuente
url.<base>.insteadOf
.git config --global [email protected]:.insteadOf https://github.com/
funciona con seguridad en git 2.7.4.)--global
y hacer esto en base a un repositorio.La respuesta proporcionada por Trevor es correcta .
Pero esto es lo que puede agregar directamente en su
.gitconfig
:fuente
[url "ssh://[email protected]/"]
insteadOf = https://gitlab.com/
también existepushInsteadOf
si desea afectar la URL de inserción pero no recuperar. Se puede usargit remote -v
para inspeccionar URL efectivas que git va a usar.Es posible que haya clonado accidentalmente el repositorio en https en lugar de ssh. He cometido este error varias veces en github. Asegúrese de copiar el enlace ssh en primer lugar cuando clone, en lugar del enlace https.
fuente
Debe clonar en ssh, no en https.
Para eso necesitas configurar tus claves ssh. He preparado este pequeño script que automatiza esto:
y ejecutarlo como
Cambia tu URL remota
Agregar contenido de
~/.ssh/github.com_rsa.pub
a sus claves ssh en github.comVerifica la conexión
fuente
Archivo SSH
Editar nombre del archivo / .git / config
fuente