01 agosto, 2024

Git GUI con Github

Me surgió la necesidad de poder versionar el código en un segundo repositorio remoto, siendo en este caso Github 

Git GUI
 

Comencemos desde Git GUI ingresando al menú 

Repository -> Git Bash

Genero la key con el siguiente comando para que GitHub ingrese por ssh key

ssh-keygen -t rsa -C

Visualizo la key pública 

cat ~/.ssh/id_rsa_github.pub

Copio la pública generada en "SSH Key" de GitHub 

Hago un primer intento con un Fetch and ...

Fail


Algunas verificaciones 


Verifico si el agente de SSH esta corriendo (Repository -> Git Bash)

ssh-agent -s

Va devolver algo así


Inicio el agente de SSH si no esta corriendo

start ssh-agent


Agregar la key al agente

ssh-add ~/.ssh/id_rsa_github


Probar la conexión 

ssh -T git@github.com


Si es exitoso se espera:


Segundo Intento - SUCCESS

Git GUI busca en su carpeta C:\Users\<Usuario>\.ssh un archivo de configuración. Si agrega su archivo de configuración (sin extensión), se puede agregar las rutas de las keys. De lo contrario, Git GUI solo buscará nombres de keys predeterminados. 

Por alguna razón, Git GUI no ejecuta ~/.profile o ~/.bashrc (Git Bash sí lo hace), que se pueden usar para iniciar automáticamente el agente ssh y agregar claves.

En definitiva, generar el archivo C:\Users\<Usuario>\.ssh\config con el siguiente contenido:

IdentitiesOnly=yes
PreferredAuthentications publickey
PasswordAuthentication no
IdentityFile C:\Users\<user>\.ssh\id_rsa_your_key
IdentityFile /c/Users/<user>/.ssh/id_rsa_your_key
IdentityFile ~/.ssh/id_rsa_your_key

(reemplazar lo marcado en negrita con los valores correspondientes)

Intento realizar el Push ... and SUCCESS 🎉


Bonus Track - Cargando Repositorio de Github en GUI Git

  • Seleccionar el proyecto
  • Menu Remote -> Add
  •  
  • En donde
    • Name = el nombre que le voy a otorgar a ese repo
    • Location = ubicación del repo en Github (utilizar conexión SSH para usar la key)
  • Darle a Add
  • Al hacer Push ya podemos seleccionar el repositorio remoto "backup"



Referencias

  • https://stackoverflow.com/questions/40371663/git-gui-how-fixed-issue-permission-denied-publickey 
  • https://linux.die.net/man/5/ssh_config
  • https://git-scm.com/docs/git-gui

0 comments:

Publicar un comentario