Programación

Git y GitHub desde cero: guarda el historial de tu código

Instala Git, guarda versiones de tu proyecto con commits y súbelo a GitHub para no perder nada.

¿Alguna vez has tenido archivos llamados trabajo-final.docx, trabajo-final-v2.docx y trabajo-final-AHORA-SÍ.docx? Git resuelve eso para el código: guarda cada versión de tu proyecto, te deja volver atrás, ver qué cambió y trabajar con otras personas sin pisaros. GitHub es un servicio web que aloja repositorios de Git en internet, con herramientas para colaborar. Git es el programa; GitHub, uno de los sitios donde guardarlo (hay otros, como GitLab).

Las tres zonas de Git y cómo pasar de una a otra.Directorio de trabajo → git add: preparación → git commit: historialDirectorio de trabajogit add: preparacióngit commit: historial
Las tres zonas de Git y cómo pasar de una a otra.

Instalar y configurar Git en Windows

Descarga Git for Windows desde git-scm.com o instálalo desde la terminal con:

winget install --id Git.Git -e --source winget

Abre una terminal nueva y comprueba la instalación con git --version. Después dile a Git quién eres; ese nombre y correo aparecerán en cada cambio que guardes:

git config --global user.name "Tu Nombre"
git config --global user.email "tu-correo@ejemplo.com"
git config --global init.defaultBranch main

Si vas a usar GitHub y no quieres que tu correo personal aparezca en público, GitHub permite usar una dirección privada del tipo @users.noreply.github.com (en la configuración de correo de tu cuenta).

Portátil con código en la pantalla
Foto: Christina Morillo · dominio público (CC0) · vía StockSnap

Las tres zonas de Git

Entender esto evita casi todas las confusiones:

  1. Directorio de trabajo: tus archivos tal como están ahora.
  2. Área de preparación (staging): los cambios que has marcado para el próximo guardado, con git add.
  3. Repositorio: el historial de versiones guardadas, los commits, con git commit.

El ciclo diario es: cambias archivos, eliges qué guardar con git add y lo guardas con git commit.

Tu primer repositorio

Dentro de la carpeta de tu proyecto:

git init                          # crea el repositorio
git status                        # qué ha cambiado
git add index.html estilos.css    # prepara esos archivos (o "git add ." para todos)
git commit -m "Primera versión de la página"
git log --oneline                 # historial de commits

Escribe mensajes de commit que expliquen qué cambia y, si no es obvio, por qué: «Corrige el menú en móviles» es útil; «cambios» no.

Crea también un archivo .gitignore con lo que no debe guardarse: carpetas como node_modules o .venv, archivos temporales y, sobre todo, contraseñas y claves (archivos .env). Lo que subes a un repositorio público lo puede ver cualquiera, y borrarlo después no lo elimina del historial.

Tu primer repositorio, en cinco órdenes.> git init | > git status | > git add . | > git commit -m "Primera versión de la página" | > git log --onelineTerminal>git init>git status>git add .>git commit -m "Primera versión de la página">git log --oneline
Tu primer repositorio, en cinco órdenes.

Ramas: probar sin romper

Una rama es una línea de trabajo paralela. La principal suele llamarse main. Para probar una idea sin tocarla:

git switch -c menu-nuevo     # crea la rama y te cambia a ella
# ...cambios y commits...
git switch main              # vuelves a la principal
git merge menu-nuevo         # incorporas los cambios

Si dos ramas cambian las mismas líneas, Git te pedirá que resuelvas el conflicto a mano: marca las dos versiones en el archivo y tú eliges cuál queda. VS Code lo muestra con botones para aceptar una u otra.

Escritorio con un ordenador de sobremesa, un portátil, una tableta y un teclado
Foto: Domenico Loia · dominio público (CC0) · vía StockSnap

Subir el proyecto a GitHub

  1. Crea una cuenta en GitHub y activa la verificación en dos pasos.
  2. Pulsa New repository, ponle nombre y créalo sin añadir archivos (ya los tienes en tu equipo).
  3. GitHub te mostrará los comandos. Serán parecidos a:
git remote add origin https://github.com/tu-usuario/mi-web.git
git push -u origin main

La primera vez, Git for Windows abrirá una ventana para iniciar sesión en GitHub desde el navegador. A partir de ahí, cada vez que hagas commits nuevos los subes con git push y descargas los cambios de otros con git pull.

Lo que nunca debe acabar en un repositorio.No: Contraseñas y claves (.env). No: node_modules y .venv. No: Archivos temporales. Sí: Borrar después no lo quita del historialAl .gitignoreContraseñas y claves (.env)node_modules y .venvArchivos temporalesBorrar después no lo quita del historial
Lo que nunca debe acabar en un repositorio.

Si algo sale mal

  • Quiero ver qué he cambiado antes de guardar: git diff.
  • Quiero descartar los cambios de un archivo que aún no he guardado: git restore archivo. Cuidado: esos cambios se pierden.
  • Me equivoqué en el último mensaje de commit (y aún no lo he subido): git commit --amend.

El libro Pro Git, gratuito y en español en git-scm.com, explica todo esto a fondo. Con tu proyecto en GitHub, el siguiente paso natural es publicarlo como página web gratis.