what - git push with ssh key
¿Cómo clonar un Github Gist a través del protocolo SSH? (5)
Github realmente parece querer que usemos el protocolo HTTPS para usar Gists, por ejemplo, solo listan la URL HTTPS en una página Gist, por ejemplo, https://gist.github.com/donatello/5834862
¿Es posible clonar un Gist usando el protocolo SSH?
Cambiar https://
a ssh://git@
debería hacer el truco, es decir, cambiar
https://gist.github.com/donatello/5834862
a
ssh://[email protected]/donatello/5834862
así que git clone ssh://[email protected]/...
debería clonar el proyecto (si ya ha agregado la clave SSH en Github)
En mi opinión personal, el https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancom no está claro acerca de SSH.
El menú desplegable en las páginas principales ahora tiene las opciones Insertar / Compartir / Clonar HTTPS / Clonar SSH:
que muestra que el truco no obvio es omitir el nombre de usuario:
Clon HTTPS:
https://gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
Funciona para mí con o sin.git
, y con o sin el nombre de usuario:https://gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6
(como es habitual en github, la URL de navegación canónica también funciona para git)Clon SSH:
[email protected]:b6f4a53fac485f75afb9150d03efb2f6.git
AKA
ssh://[email protected]/b6f4a53fac485f75afb9150d03efb2f6.git
Funciona para mí con o sin.git
, pero no funciona con el nombre de usuario.
Permití github 2FA, lo que hace que HTTPS sea doloroso, así que siempre quiero SSH; el siguiente ~/.gitconfig
hace la traducción de todos los gists en push:
[url "ssh://[email protected]/"]
# In case I just copy-pasted with username:
# [only works for my (cben) gists, but those are the ones I can push]
pushInsteadOf = https://gist.github.com/cben/
# For gists cloned with official no-username URL:
pushInsteadOf = https://gist.github.com/
Y para los repositorios regulares (no-gist):
[url "ssh://[email protected]/"]
pushInsteadOf = https://github.com/
[url "ssh://[email protected]/"]
pushInsteadOf = https://bitbucket.org/
[url "ssh://[email protected]/"]
pushInsteadOf = https://gitlab.com/
Sí, es posible:
git clone [email protected]:5834862.git
Simplemente reemplaza con tu propia identificación de Gist, por supuesto.
Si lo desea, puede tomar this script y ubicarlo en algún lugar de su $PATH
. Una vez hecho esto, puedes hacer lo siguiente:
-
gist.github.com
cualquiergist.github.com
desdegist.github.com
usandoHTTPS
(o si ya tienes ungist.github.com
clonado, simplemente continúa con el siguiente paso) - En cualquier parte del árbol de directorios git de la lista, ejecute el comando
git-change-url --to-ssh
Ahora, siempre que su clave pública esté cargada en su cuenta de github (debe aparecer here ), debería poder trabajar con la esencia a través de SSH
, sin tener que ingresar sus credenciales de github.
Mucho menos propenso a errores que editar archivos de configuración de git a mano.
Ps: Si encuentra algún error en el script, o tiene alguna adición que hacer, no dude en bifurcar: D
https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancom
git @ ..... es el protocolo ssh
cuando copia la url de clonación para obtener un gist, le muestra la url de clon https
https://gist.github.com/5834862.git
cambie https://
a git@
y /****.git
a :****.git
asi que en este caso
git clone [email protected]:5834862.git