Cómo instalar y configurar Git y SSH con GitHub en Mac, GNU/Linux o Windows (GitBash)

José María CL - Jan 9 '22 - - Dev Community

Hola. En este post describo los pasos para instalar y configurar Git, así como ajustarlo para trabajar con GitHub.

Si usas Windows, instala Git con el instalador gráfico, asegúrate de poner el check para que igual se instale GitBash, reinicia la PC y usa el GitBash en lugar de la terminal para seguir la guía sin problemas (al menos con pocos).

Siempre que es posible trato de usar Brew para instalar las aplicaciones que quiero. Es útil para mantener las cosas actualizadas. En este post escribí cómo instalar Homebrew en el primer paso.

Si usas alguna distro debian de GNU/Linux, solo usa el comando sudo apt-get install git en lugar de brew.

1. Descargar e instalar Git

Para instalar git manualmente podemos ir al sitio oficial de descargas. Hay instalador para Windows, MacOS y GNU/Linux.

Instalar con Brew:



~ ❯ brew install git


Enter fullscreen mode Exit fullscreen mode

Verifica que Git esté instalado:



~ ❯ git --version
git version 2.30.1 (Apple Git-130)


Enter fullscreen mode Exit fullscreen mode

2. Configurar Git

Después de verificar que Git está instalado tenemos que configurar las variables globales:

  • nombre de usuario (user) que aparecerá como autor de los cambios
  • email del usuario
  • editor que queremos usar para escribir los mensajes de los commits y demás cosas

Ingresa los siguientes comandos usando tus datos:



~ ❯ git config --global user.name "John Doe"
~ ❯ git config --global user.email johndoe@example.com
~ ❯ git config --global core.editor vim


Enter fullscreen mode Exit fullscreen mode

Esos comandos los puedes volver a ingresar para actualizar las variables. Si en lugar de vim quieres usar otro editor, ingresa nano, code (visual studio code) u otro.

Verifica las variables:



~ ❯ git config user.name
John Doe

~ ❯ git config user.email
johndoe@example.com


Enter fullscreen mode Exit fullscreen mode

También podemos listar todas las variables de la configuración:



~ ❯ git config --list
credential.helper=osxkeychain
user.name=John Doe
user.email=johndoe@example.com
core.editor=vim


Enter fullscreen mode Exit fullscreen mode

Puedes leer más en los sitios oficiales de Git y de GitHub:

3. Generar llaves SSH

Para comunicarse con repositorios remotos como GitHub, GitLab o Azure podemos hacerlo de dos formas: con https o con ssh.

En este post describo el método con SSH.

Usar https es lo más fácil y actualmente es igual de seguro que ssh. Los leaks o filtraciones dependen de tí realmente.
Yo prefiero ssh por costumbre y porque no me gusta autenticarme en cada push o pull.

Si decides ir por la vía de https tendrás que configurar un GitHub Personal Token y usarlo para autenticarte. Dejo la guía de GitHub sobre cómo hacerlo.

Verificar si ya existen las llaves SSH:

fuente

Ingresa este comando para listar (ls) los archivos, especificando que queremos ver todos los archivos (-a) en forma de lista vertical (-l) dentro de la carpeta oculta .ssh que se encuentra en el directorio home (~/) del usuario:



~ ❯ ls -al ~/.ssh


Enter fullscreen mode Exit fullscreen mode

Si ya tenías las claves te aparecerá algo como esto, en cuyo caso, puedes ir al paso 4:



total 48
drwx------   7 chema  staff   224 Dec 31 13:09 .
drwxr-x---+ 34 chema  staff  1088 Jan  8 23:00 ..
-rw-------   1 chema  staff  3401 Dec 31 13:10 id_rsa
-rw-r--r--@  1 chema  staff   755 Dec 31 13:10 id_rsa.pub


Enter fullscreen mode Exit fullscreen mode

Si no las tienes, te aparecerá algo como esto:



ls: /Users/chema/.ssh: No such file or directory


Enter fullscreen mode Exit fullscreen mode

Generar nuevas claves SSH:

fuente

Si no tenemos alguna clave SSH tendremos que generar un nuevo par de clave privada y pública, las cuáles se generan juntas:



~ ❯ ssh-keygen -t rsa -b 4096 -C "johndoe@example.com"


Enter fullscreen mode Exit fullscreen mode

Nos preguntarán el nombre del archivo que tendrá, puedes presionar enter si quieres usar el nombre por defecto (id_rsa):



Enter file in which to save the key (/Users/chema/.ssh/id_rsa):


Enter fullscreen mode Exit fullscreen mode

Después nos pedirán especificar una contraseña y confirmarla. Ésta se pedirá cada vez que nos comuniquemos con repositorios remotos con pull, push y demás.
También se puede presionar enter (dos veces para confirmar) si no queremos agregar ninguna.

Si tienes mucho cuidado con quién y cómo tienen acceso a tu equipo puedes ir sin contraseña). Cuando introduzcas la contraseña no se verá lo que escribes pero sí está escribiendo:



Enter passphrase (empty for no passphrase):
Enter same passphrase again:


Enter fullscreen mode Exit fullscreen mode

4. Agregar claves SSH a la cuenta de GitHub

Ve a github.com, inicia sesión o crea una cuenta (no olvides confirmar el email) y busca la opción Settings que nos llevará a la página de ajustes:
Image description

Busca la opción de SSH and GPG Keys en la barra lateral izquierda:

ssh option

Selecciona la opción para agregar la clave SSH que abrirá un formulario para que introduzcamos el nombre de nuestra clave SSH (el nombre que gustes) y para que "pegues" la llave pública, es decir, el contenido del archivo id_rsa.pub:

add ssh option

Para ver y copiar el contenido del archivo id_rsa.pub tenemos dos opciones:

  • podemos usar el Finder de Mac o el buscador que tengamos
  • mostrar el contenido en consola y copiarlo

Con el finder

Accede a la carpeta de tu usuario, presiona Shift + Cmd + .. para mostrar archivos ocultos, busca la carpeta .ssh y accede. Verás unos archivos como estos:

ssh keys in finder

Abre el archivo id_rsa.pub con el editor de texto de tu preferencia, copia todo el contenido y pégalo en el formulario de GitHub.

Con la terminal

Escribe lo siguiente para usar el comando cat (concatenar) el cuál mostrará el contenido en la consola:



~ ❯ cat ~/.ssh/id_rsa.pub


Enter fullscreen mode Exit fullscreen mode

Finalmente copia el texto en consola y pégalo en el formulario de GitHub.

5. Clonar un repositorio con SSH

Bien, eso fue todo. Ahora intenta clonar algún repositorio para verificar que las cosas hayan salido bien. Puedes clonar este repo si gustas.

La primera vez nos advertirán que se guardará la huella (fingerprint) del host remoto como conocido y tendremos que ingresar "yes" para continuar.



~ ❯ git clone git@github.com:ChemaCLi/git-tricks-and-tutorials.git


Enter fullscreen mode Exit fullscreen mode
. . . . . . . . .
Terabox Video Player