HERRAMIENTAS

Git

Sistema de control de versiones que guarda el historial completo de un proyecto y permite trabajar en paralelo sin pisarse ni perder trabajo.

Nivel · principiante4 min de lecturaActualizado 23 ago 2026
También conocido como: Control de versiones, Version control

Definición

Git es un sistema de control de versiones: guarda el historial completo de los cambios de un proyecto, quién hizo cada uno y cuándo, y permite volver atrás, comparar versiones o trabajar en varias cosas a la vez sin mezclarlas.

Aclaración que hace falta constantemente: Git no es GitHub. Git es el programa que corre en tu ordenador. GitHub, GitLab o Bitbucket son sitios web donde alojar repositorios de Git y colaborar. Puedes usar Git sin GitHub perfectamente.

Es distribuido: cada copia del repositorio contiene el historial entero. No hay un servidor central imprescindible, y por eso puedes trabajar y hacer commits sin conexión.

Los conceptos que hay que entender

Repositorio. La carpeta del proyecto más el historial, guardado en una subcarpeta oculta.

Commit. Una foto del proyecto en un momento, con un mensaje que explica qué cambió y por qué. Es la unidad del historial.

Área de preparación (staging). El paso intermedio que confunde al principio: eliges qué cambios entran en el próximo commit antes de hacerlo. Permite separar dos cosas distintas que tocaste a la vez.

Rama (branch). Una línea paralela de trabajo. Creas una para una funcionalidad, trabajas ahí sin tocar la principal y luego la fusionas.

Fusión (merge). Juntar dos ramas. Si las dos tocaron las mismas líneas, aparece un conflicto que hay que resolver a mano.

Remoto. La copia en un servidor. push sube tus commits, pull baja los de los demás.

El flujo diario

git status                 # qué he tocado
git add fichero.php        # preparar
git commit -m "Arregla el cálculo del margen"
git pull                   # traer lo de los demás
git push                   # subir lo mío

Y para trabajar en algo nuevo sin romper lo que funciona:

git switch -c precios-especiales   # rama nueva
# ... trabajar, commits ...
git switch main
git merge precios-especiales

Ejemplo práctico

Trabajando solo, la tentación es pensar que Git no hace falta. Es justo al revés: cuando trabajas solo, Git es tu única red de seguridad.

Los tres momentos en que me ha salvado, y son los mismos que le pasan a todo el mundo:

Volver atrás sin drama. Un cambio que parecía bueno resulta que rompió otra cosa. Con historial, git revert deshace ese commit concreto y ya está. Sin historial, tratas de recordar qué tocaste.

Encontrar cuándo se rompió algo. Una función lleva semanas fallando y nadie sabe desde cuándo. git log sobre ese fichero enseña los últimos cambios y normalmente la respuesta salta a la vista.

Entender por qué está escrito así. git blame sobre una línea rara te dice quién la escribió y con qué mensaje de commit. Muchas veces ese mensaje explica una decisión que hoy parece absurda y en su momento tenía sentido.

Ese último caso es el que más valor da a los mensajes de commit. Un historial lleno de "cambios", "arreglo" y "ya" no sirve para nada. Un mensaje que dice qué problema resolvía vale su peso en oro dos años después.

Buenas costumbres

  • Commits pequeños y con un solo tema. Uno que arregla un fallo y otro que cambia el diseño, no los dos juntos.
  • Mensajes que expliquen el porqué, no el qué. El qué ya se ve en el cambio.
  • Rama por funcionalidad. Nunca trabajes directamente sobre la rama principal en algo que puede quedar a medias.
  • Un .gitignore desde el primer commit. Fuera node_modules, ficheros de configuración con credenciales, carpetas de compilación.
  • pull antes de empezar. Los conflictos son mucho más pequeños si te sincronizas a menudo.

Errores comunes

  • Subir credenciales. Es el error grave. Y borrarlas en un commit posterior no las quita del historial: siguen ahí para siempre. Si pasa, hay que rotar la clave, no solo borrarla.
  • Commits gigantes que tocan cuarenta ficheros. Imposibles de revisar y de revertir.
  • Miedo a las ramas. Son baratísimas en Git. Crear una no cuesta nada.
  • git push --force sobre una rama compartida. Puedes borrar el trabajo de otro. Si hace falta, --force-with-lease.
  • Usarlo como copia de seguridad de ficheros grandes. Git guarda cada versión: mete un vídeo de 200 MB dos veces y el repositorio pesa 400 MB para siempre.
  • No hacer commit hasta que "esté terminado". Entonces se pierde el sentido: el historial son los pasos, no solo el final.

Cuándo usarlo

Siempre, en cualquier proyecto de más de un fichero, aunque trabajes solo y aunque no vayas a publicarlo. Es de las pocas herramientas del oficio que no tienen alternativa razonable ni discusión.

Referencias

Tagsprogramacionherramientasdevopsfundamentos
Escrito por
Antonio Echeverría

Dirijo IMDICA, una empresa de suministro industrial, desde 2007. Escribo estas definiciones desde el lado de quien las usa para decidir, no desde el de quien las estudia.

Si necesitas que alguien construya esto de verdad y no solo lo explique, eso es lo que hago en AE Works.