Contenido del curso

Fundamentos de Git y control de versiones

Introducción a GitHub

Gestiona GitHub desde tu terminal con gh

Resumen

GitHub CLI es la línea de comandos oficial de GitHub que te permite crear repositorios, abrir issues y manejar pull requests sin salir de tu terminal. Si ya dominas Git pero quieres acelerar tu flujo en GitHub, esta herramienta te ahorra clics y te abre la puerta a la automatización.

¿Qué es GitHub CLI y para qué sirve?

GitHub CLI, identificado con el comando gh, extiende lo que normalmente haces con Git (commits, push, pull) hacia funciones propias del sitio web de GitHub. Con él manipulas pull requests, issues, actions y repositorios completos desde la consola.

La idea es simple: todo lo que harías apuntando y haciendo clic en github.com, ahora lo escribes. Y aquí viene lo interesante, también puedes encadenar esos comandos en scripts para automatizar tareas repetitivas.

¿Qué diferencia hay entre Git y GitHub CLI? Git es universal y funciona con cualquier proveedor (GitLab, Bitbucket, Gitea). GitHub CLI solo opera contra GitHub y te da acceso a sus funciones específicas como issues y pull requests.

¿Cómo instalo y autentico GitHub CLI?

La instalación parte del repositorio oficial cli/cli en GitHub, donde encontrarás instrucciones para Windows, Mac y Linux [01:05]. El proceso es prácticamente idéntico en cualquier sistema operativo: copias el fragmento de instalación, lo pegas en tu terminal y dejas que el gestor de paquetes haga el resto.

Una vez instalado, valida la versión con un comando simple:

bash gh --version

No te obsesiones con tener la última versión exacta. Si el comando responde, estás listo.

¿Cómo funciona gh auth login?

El siguiente paso es la autenticación con gh auth login [02:30]. El asistente te guía por varias preguntas:

  • Tipo de cuenta: github.com o GitHub Enterprise.
  • Protocolo preferido para Git: HTTPS o SSH.
  • Subir una llave SSH a tu cuenta de GitHub.
  • Método de autenticación: navegador web o token personal.

Un detalle clave: la llave SSH que pide GitHub CLI no es la misma que usas en tus repositorios anteriores. Aunque sea la misma computadora, GitHub trata a la CLI como una aplicación distinta, así que conviene crear una llave nueva con un título descriptivo, por ejemplo SSH Key CLI.

Si eliges autenticación por navegador, la CLI te muestra un código de un solo uso. Lo copias, lo pegas en la web, autorizas los permisos y tu dispositivo queda enlazado.

¿Cómo creo un repositorio con gh repo create?

Con la sesión activa, gh repo create lanza un asistente interactivo que te pregunta uno a uno todos los datos del repositorio [05:10]:

  1. Crear desde cero, desde plantilla o subir uno local.
  2. Nombre y propietario del repositorio.
  3. Descripción y visibilidad (público o privado).
  4. Incluir README, gitignore y licencia.
  5. Clonar el repositorio recién creado a tu máquina.

En segundos tienes el repo visible en tu perfil de GitHub, con el README desplegándose y el gitignore del lenguaje que elegiste, por ejemplo Terraform.

¿Puedo crear un repo sin asistente?

Sí. Si ya sabes qué quieres, pasas todos los parámetros en una sola línea:

bash gh repo create mi-cuarto-repo --public --add-readme --description "repo desde CLI" --clone

Este comando hace exactamente lo mismo que el asistente, pero sin preguntas. Es ideal para scripts, plantillas internas o flujos automatizados donde necesitas crear repositorios bajo demanda.

¿Cuál opción es mejor: asistente o parámetros? El asistente es perfecto cuando estás explorando o creando repos esporádicos. Los parámetros directos brillan cuando automatizas o repites el mismo patrón muchas veces.

¿Cómo gestiono issues desde la terminal?

Dentro de cualquier repositorio, gh issue create abre un asistente para registrar un nuevo issue [09:20]. Te pide título, descripción opcional y luego ofrece cuatro caminos: crear, continuar en el navegador, agregar metadatos o cancelar.

Al crearlo, la CLI te devuelve la URL directa al issue, lo que te ahorra buscarlo manualmente en la web.

Para monitorear el estado de los issues tienes gh issue status, que organiza la información en tres bloques útiles:

  • Issues asignados a ti.
  • Issues donde te mencionan.
  • Issues abiertos por ti.

Esta misma lógica aplica a pull requests, actions y otros recursos del repositorio. Manejas tu trabajo en GitHub sin abrir el navegador ni una sola vez.

¿Vale la pena automatizar con GitHub CLI?

Los casos de uso son muchos. Imagina un script que cada día crea un repositorio para registrar tus actividades, o uno que clona automáticamente los proyectos nuevos del equipo para que arranques con todo listo.

Un detalle práctico: en el botón verde de Code que usas para clonar repositorios, GitHub ya incluye una tercera pestaña con el comando listo de GitHub CLI. Lo copias, lo pegas y trabajas.

La única desventaja real es la dependencia. Mientras más uses gh, más arraigo tendrás a GitHub. Git, en cambio, es universal y viaja contigo a cualquier plataforma. Si te mueves a otro proveedor, vuelves a Git puro sin fricción; si te quedas en GitHub, exprimir la CLI multiplica tu productividad.

¿Ya pensaste qué tarea repetitiva podrías automatizar primero con gh? Cuéntalo en los comentarios.