Git desde cero – parte 1
Hoy doy inicio a esta la serie de artículos “Git desde cero” en su parte 1. A través de ejemplos prácticos, te guiaré desde lo más básico hasta un nivel intermedio que te haga sentir totalmente cómodo al trabajar con esta herramienta.
Sin más preámbulos, empecemos.
Requisitos
Dado que esta guía es de caracter netamente práctico, no voy a entrar en muchos detalles teóricos. Si bien esta es una guía de Git desde cero, he dejado los temas conceptuales en otro artículo previo que te recomiendo revisar: Git para principiantes – El paso a paso.
Por ende, en esta guía asumiremos que ya se tiene Git instalado en nuestros equipos.
Contexto
Érase una vez Ana y Angel, dos apasionados por la programación que querían comenzar a trabajar juntos en proyectos de Infraestructura como Código con Terraform utilizando Git.
Ahora sí: Git desde cero
Paso 1 – Crear una cuenta en GitHub
Ambos, Ana y Angel, van a https://GitHub.com y se crean una cuenta personal. Asumiremos que el usuario de Angel es “arengifoc” y el usuario de Ana es “anita0331”.
Paso 2 – Configurar credenciales para conexión a GitHub desde consola
Git como herramienta de línea de comandos soporta dos mecanismos comunes de autenticación hacia GitHub:
- Autenticación con Tokens
- Autenticación con llaves SSH
Nosotros podemos elegir cualquiera de los dos métodos, así que mostraré cómo se hace en ambos casos.
Autenticación con Tokens
GitHub soporta autenticación vía PATs (Personal Access Tokens). Para ello, es necesario ir a las configuraciones de desarrollador (“Settings” –> “Developer Settings”) o directo a la URL https://github.com/settings/apps
Luego, seleccionar el menú “Personal access tokens” –> “Tokens (classic)”, clic en el botón “Generate new token” y elegir “Generate new token (classic)”
Activar las opciones mostradas en pantalla y dar clic en el botón “Generate token”. En la pantalla siguiente se muestra el token por única vez, por lo cual hay que copiarlo dando clic al botón encerrado en el círculo rojo.
Luego, crear un archivo netrc (en Windows es _netrc, en Linux o Mac es .netrc) ubicado en el directorio personal de nuestro usuario. El archivo debe tener este contenido:
machine github.com login arengifoc password ghp_aQAcY7RXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
En el texto arriba mostrado se debe reemplazar “arengifoc” por el nombre de tu usuario GitHub, y lo mismo para el token que en el ejemplo figura como “ghp_aQAcY7RXXXXXXXXXXXXXXXXXXXXXXXXXXXXX” con tu propio token obtenido.
Importante: Este tipo de autenticación se usa cuando elegimos el método HTTPS al clonar repositorios Git, tal como se muestra en el siguiente paso.
Autenticación con llaves SSH
GitHub también soporta autenticación a través de llaves SSH, para lo cual debemos registrar nuestra llave pública en nuestra cuenta.
Primero, creamos nuestro juego de llaves -ubicados en nuestro directorio personal- como sigue:
ssh-keygen -N "" -f mi-llave-ssh.pem
Al completar este comando observarás que se crearon dos archivos:
- mi-llave-ssh.pem (llave privada)
- mi-llave-ssh.pem.pub (llave pública)
Lo que nos importa es el contenido de la llave pública la cual debemos copiar en el portapapeles.
Ahora, en GitHub, vamos a “Settings” –> “SSH and GPG keys” y damos clic en el botón “New SSH key”
En el campo “Key” pegamos el contenido de la llave pública que anteriormente copiamos. También, le damos un título cualquiera (que no necesariamente debe coincidir con el nombre de nuestra llave SSH). Finalmente, damos clic en el botón “Add SSH key”.
En la pantalla siguiente debemos comprobar que ya aparece nuestra nueva llave SSH registrada:
Importante: Este tipo de autenticación se usa cuando elegimos el método SSH al clonar repositorios Git, tal como se muestra en el siguiente paso.
Paso 3 – Crear un repositorio
Luego, Angel toma la iniciativa y crea un repositorio llamado infra-como-codigo de tipo privado:
Paso 4 – Clonar el repositorio localmente
Una vez que el repositorio ya fue creado, es momento de clonarlo. Seguramente se nos muestra la siguiente pantalla al dar clic en el botón verde “Code”:
Método HTTPS
Observen que se ha seleccionado el método “HTTPS”, el cual muestra una URL que empieza con “https://”. Si decidimos trabajar con este método de acceso a nuestro repositorio, entonces damos clic en el botón señalado por la flecha roja para poder clonar la URL. Luego, vamos a la consola y estando ubicados en un directorio trabajo específico (Ejm: Mis Documentos), clonamos como sigue:
git clone https://github.com/arengifoc/infra-como-codigo.git
De nuevo, reemplazamos “arengifoc” por el nombre de nuestro usuario GitHub.
Método SSH
Observen que ahora se ha seleccionado el método “SSH”, el cual muestra una URL que empieza con “[email protected]:”. Si decidimos trabajar con este método de acceso a nuestro repositorio, entonces damos clic en el botón señalado por la flecha roja para poder clonar la URL. Luego, vamos a la consola y estando ubicados en un directorio trabajo específico (Ejm: Mis Documentos), clonamos como sigue:
git clone [email protected]:arengifoc/infra-como-codigo.git
De nuevo, reemplazamos “arengifoc” por el nombre de nuestro usuario GitHub.
Conclusión
En este primer episodio del curso “Git desde cero” he enseñado los primeros pasos que consiste en la creación de una cuenta en GitHub. Luego, mostré cómo configurar los dos métodos de autenticación más usados (HTTPS y SSH). Finalmente, se mostró la creación de un repositorio y la clonación del mismo con los dos métodos antes mencionados.
Para ser un primer artículo de esta serie, creo que el contenido es más que suficiente. Pretendo no extenderme demasiado para poder mantener la facilidad de lectura y rápido aprendizaje del lector.
Nos vemos en un siguiente episodio.
Deja un comentario