Programación

Git y GitHub: guía paso a paso para principiantes

22 de marzo de 2026 8 min lectura
Git y GitHub: guía paso a paso para principiantes

Dominar el desarrollo de software hoy en día no solo implica saber escribir código en un lenguaje de programación; también requiere saber gestionarlo. Aquí es donde entran en juego Git y GitHub, dos herramientas que, aunque suelen confundirse, cumplen funciones distintas pero complementarias. Si alguna vez has guardado versiones de un archivo como "proyecto_final.v1", "proyecto_final_final.v2" o "proyecto_final_ahora_si_que_si", Git es la solución definitiva a tus problemas. En esta guía, vamos a desglosar desde cero qué son estas herramientas, cómo instalarlas y cómo completar tu primer flujo de trabajo profesional para que puedas empezar a colaborar en proyectos de cualquier escala.

¿Qué es Git y por qué es imprescindible?

Git es un sistema de control de versiones distribuido. Fue creado en 2005 por Linus Torvalds (el creador de Linux) y su función principal es registrar los cambios realizados en los archivos de un proyecto a lo largo del tiempo. Imagina que es una "máquina del tiempo" para tu código: puedes volver atrás si algo se rompe, comparar versiones y trabajar en nuevas funciones sin alterar la base principal del software.

Control de versiones local vs. distribuido

A diferencia de los sistemas antiguos, Git es distribuido. Esto significa que cada desarrollador tiene una copia completa del historial del proyecto en su propio ordenador. No dependes de un servidor central para consultar el historial o realizar cambios (aunque uses GitHub para compartir esos cambios después).

Beneficios clave de usar Git

  • Seguridad: Es casi imposible perder código si se usa Git correctamente.
  • Ramificación (Branching): Permite crear "ramas" para experimentar. Si la idea no funciona, borras la rama y el proyecto principal queda intacto.
  • Trazabilidad: Sabrás exactamente quién cambió qué línea de código, cuándo y por qué.

Diferencias fundamentales entre Git y GitHub

Es común que los principiantes utilicen ambos términos como sinónimos, pero son entidades diferentes. Comprender esta distinción es el primer paso para usarlos correctamente.

  1. Git es la herramienta: Es el software que instalas en tu ordenador para gestionar las versiones de tus archivos localmente. Funciona a través de la línea de comandos (terminal) o interfaces gráficas.
  2. GitHub es la plataforma: Es un servicio en la nube que aloja repositorios de Git. Piensa en él como el "Instagram" o el "Dropbox" de los programadores. Permite subir tu código a internet, compartirlo con otros y colaborar de forma masiva en proyectos de código abierto.

Existen alternativas a GitHub, como GitLab o Bitbucket, que funcionan con Git de la misma manera. Sin embargo, GitHub es el estándar de la industria y donde reside la mayor parte de la comunidad global.

Configuración inicial e instalación

Antes de empezar a teclear comandos, debemos preparar nuestro entorno de trabajo. El proceso varía ligeramente según tu sistema operativo.

Instalación de Git

  • Windows: Descarga el instalador oficial desde git-scm.com. Se recomienda usar la opción "Git Bash" durante la instalación para tener un terminal similar al de Linux/Mac.
  • macOS: Si tienes instalado Xcode, es probable que ya tengas Git. Si no, puedes instalarlo mediante Homebrew con el comando brew install git.
  • Linux: Usa el gestor de paquetes de tu distribución (por ejemplo, sudo apt install git en Ubuntu/Debian).

Configuración de identidad

Una vez instalado, abre tu terminal y configura tu nombre y correo electrónico. Estos datos se adjuntarán a cada cambio que realices para identificarte como autor.

git config --global user.name "Tu Nombre"
git config --global user.email "tu-email@ejemplo.com"

Autenticación con GitHub

Hoy en día, GitHub ya no permite usar contraseñas simples por terminal por razones de seguridad. Deberás configurar una SSH Key o crear un Personal Access Token (PAT). Esto permite que tu ordenador se comunique de forma segura con tu cuenta de GitHub.

Los conceptos básicos: El ciclo de vida de un archivo

Para entender Git no basta con memorizar comandos; hay que entender los estados por los que pasa un archivo. Hay tres áreas principales en un proyecto de Git:

  1. Directorio de trabajo (Working Directory): Es la carpeta en tu ordenador donde estás editando los archivos actualmente.
  2. Área de preparación (Staging Area / Index): Es un paso intermedio. Aquí añades los cambios que quieres que formen parte de tu próxima "foto" o versión. No todo lo que editas tiene por qué subirse inmediatamente.
  3. Repositorio (Local Repository): Cuando confirmas los cambios (commit), Git guarda permanentemente esa versión en la base de datos local (la carpeta oculta .git).

El flujo estándar

El flujo de trabajo diario de un desarrollador suele seguir este patrón:

  • Modificas un archivo en tu editor (VS Code, por ejemplo).
  • Lo añades al área de preparación (git add).
  • Guardas la versión con un mensaje descriptivo (git commit).
  • Subes el resultado a la nube (git push).

Guía paso a paso: De local a GitHub

Vamos a realizar un ejercicio práctico partiendo de una carpeta vacía en tu ordenador hasta tener nuestro código publicado en GitHub.

1. Inicializar el proyecto

Crea una carpeta nueva, entra en ella desde la terminal y ejecuta:

git init

Esto creará una carpeta oculta .git. A partir de ahora, Git está vigilando todo lo que ocurra en este directorio.

2. Crear y añadir archivos

Crea un archivo llamado index.html o README.md. Para que Git lo tenga en cuenta, debemos pasarlo al área de preparación:

git add README.md

Si quieres añadir todos los archivos nuevos o modificados a la vez, usa git add ..

3. Realizar el primer Commit

El commit es una instantánea de tu proyecto. Siempre debe ir acompañado de un mensaje claro:

git commit -m "Mi primer commit: creación del archivo inicial"

4. Conectar con GitHub

Ve a GitHub y crea un nuevo repositorio (botón "New" en tu perfil). No le añadas README ni licencia por ahora para evitar conflictos. Copia la URL que te proporcionan (será algo como https://github.com/usuario/mi-proyecto.git).

En tu terminal, vincula tu repositorio local con el remoto:

git remote add origin https://github.com/usuario/mi-proyecto.git

5. Subir los cambios

Finalmente, envía tu código a la nube:

git push -u origin main

(Nota: En versiones antiguas el nombre de la rama principal era 'master', actualmente es 'main').

Trabajando con ramas (Branches)

Las ramas son una de las características más potentes de Git. Permiten que varias personas trabajen en diferentes funcionalidades al mismo tiempo sin estorbarse.

  • Crear una rama: git branch nombre-de-la-rama
  • Cambiar a esa rama: git checkout nombre-de-la-rama (o git switch en versiones modernas).
  • Fusionar cambios (Merge): Una vez que tu nueva funcionalidad funciona, vuelves a la rama main y ejecutas git merge nombre-de-la-rama.

¿Para qué sirven las Ramas en la vida real?

Imagina que estás desarrollando una página web. Tienes la versión estable en main. Un cliente te pide un formulario de contacto. Creas una rama llamada feature-contacto. Mientras trabajas en ella, surge un error crítico en la web que debes arreglar ya. Cambias a main, creas una rama rápida hotfix, arreglas el error, lo fusionas con main y luego vuelves a tu rama de contacto para seguir donde lo dejaste. Nada se ha mezclado ni roto.

Colaboración y el flujo "Pull Request"

GitHub no solo sirve para guardar tu código, sino para trabajar con otros. El flujo de colaboración profesional suele ser el siguiente:

  1. Fork: Haces una copia de un repositorio ajeno en tu propia cuenta de GitHub.
  2. Clone: Descargas esa copia a tu ordenador para trabajar.
  3. Push: Subes tus mejoras a tu copia (fork).
  4. Pull Request (PR): Pides al dueño del repositorio original que revise tus cambios e intente incorporarlos a su proyecto. Es el corazón del código abierto.

Cuando tú eres el que recibe cambios de otros, puedes comentar el código, sugerir correcciones y finalmente aceptar la unión de esas líneas a tu código principal.

Buenas prácticas para usar Git

Llevar un orden es crucial para que Git sea una ayuda y no un estorbo:

  • Commits pequeños y frecuentes: Es mejor hacer 10 commits con cambios pequeños que uno solo enorme que contenga 20 funciones nuevas. Esto hace que sea mucho más fácil localizar errores.
  • Mensajes de commit claros: Evita mensajes como "cambios", "fix" o "asdf". Usa verbos en imperativo como "Añadir validación de formulario" o "Corregir error en el login".
  • Usa el archivo .gitignore: No todo debe subirse a Git. Archivos de configuración con contraseñas, carpetas de dependencias pesadas (como node_modules) o archivos temporales del sistema deben ignorarse creando un archivo llamado .gitignore e incluyendo ahí los nombres de las carpetas o extensiones.
  • Mantén tu rama principal limpia: Nunca trabajes directamente en main si el proyecto es medianamente complejo. Usa ramas para todo.

Preguntas frecuentes

¿Qué pasa si borro la carpeta .git? Si borras la carpeta oculta .git de tu proyecto, perderás todo el historial de versiones y las ramas que no hayas subido a GitHub. El código actual que ves en la carpeta permanecerá, pero dejará de ser un repositorio de Git.

¿Cuál es la diferencia entre git fetch y git pull? git fetch descarga la información del servidor remoto pero no modifica tus archivos locales; solo te "avisa" de lo que hay nuevo. git pull hace el fetch y además intenta fusionar automáticamente esos cambios en tus archivos actuales.

¿Cómo deshago un commit si me he equivocado? Hay varias formas. Si solo quieres cambiar el mensaje del último commit, usa git commit --amend. Si quieres deshacer el commit pero mantener los cambios en los archivos, usa git reset --soft HEAD~1. Utiliza estos comandos con precaución.

¿Es Git solo para programadores? Aunque nació para el software, Git es útil para cualquiera que trabaje con archivos de texto: escritores, científicos de datos o diseñadores que usen herramientas basadas en código (como SVG o configuraciones). Cualquier flujo de trabajo que requiera historial de versiones puede beneficiarse.

Conclusión

Git y GitHub pueden parecer intimidantes al principio debido a la cantidad de comandos y conceptos nuevos, pero son herramientas que transforman radicalmente la productividad de un desarrollador. Entender el flujo de "añadir, confirmar y subir" es la base sobre la cual construirás proyectos más robustos, seguros y colaborativos. Una vez que superas la curva de aprendizaje inicial, te preguntarás cómo pudiste trabajar alguna vez sin un control de versiones.

El mejor consejo para un principiante es practicar constantemente: inicializa cada pequeño proyecto que hagas, experimenta con las ramas y no tengas miedo a los errores, ya que Git siempre te permitirá volver atrás. Empieza hoy mismo creando tu perfil en GitHub, subiendo tus primeros repositorios y explorando el código de otras personas. El mundo del desarrollo colaborativo está a solo un git push de distancia.

Sigue leyendo