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
Verifica que Git esté instalado:
~ ❯ git --version
git version 2.30.1 (Apple Git-130)
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
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
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
Puedes leer más en los sitios oficiales de Git y de GitHub:
- https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Configurando-Git-por-primera-vez
- https://docs.github.com/en/get-started/getting-started-with-git/setting-your-username-in-git
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:
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
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
Si no las tienes, te aparecerá algo como esto:
ls: /Users/chema/.ssh: No such file or directory
Generar nuevas claves SSH:
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"
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):
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:
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:
Busca la opción de SSH and GPG Keys
en la barra lateral izquierda:
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
:
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:
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
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
Top comments (3)
Genial explicado! lo mejor que he encontrado pero tengo un problema, soy supernovata, me dice "No such file or directory" si listo solo con "ls" el archivo me aparece sin .ssh puede ser este el problema? o cual es? Gracias por tu entrada
Hola. Me alegra que te esté ayudando. 🙂
Quizás los archivos de tu llave ssh se hayan guardado en otra ubicación en tu sistema. Intenta buscar el archivo
id_rsa.pub
con tu explorador de archivos o con la terminal, y ábrelo con un editor de texto o con el comandocat
de la terminal. Al final lo que nos interesa es poder copiar el contenido y pegarlo en GitHub.Si necesitas ayuda más específica puedes preguntar nuevamente ✌️
Gracias José al final resultó que soy tan novata que se me olvido poner el id_ para llamarlo... con cualquier piedrecilla me caigo de morros jajaja te sigo! q de verdad me encantó como explicas. TY!