Conceptos clave

Sistema de control de versiones

Un sistema de control de versiones (también conocido como VCS, por version control system) es una herramienta que te ayuda a seguir cómo cambia tu proyecto con el tiempo. Registra cada cambio, te permite volver a versiones anteriores y facilita que varias personas trabajen juntas sin pisarse el trabajo.

En los primeros tiempos, estos sistemas eran centralizados: todo vivía en un servidor principal. Tenías que seguir conectado a él para hacer cambios y, si ese servidor se caía, todo el equipo se quedaba parado.

Los sistemas modernos son distribuidos. Cada persona tiene en su ordenador una copia completa del proyecto y de su historial. Puedes hacer cambios, explorar ideas y compartir tu trabajo cuando lo tengas listo. Es más rápido, más flexible y mucho más resistente.

  • Te permite trabajar sin conexión. Tienes todo el proyecto en tu ordenador, así que incluso en un avión o en un sitio sin Internet puedes seguir avanzando, guardar tu trabajo y explorar versiones anteriores sin interrupciones.

  • Da a los desarrolladores espacio para experimentar. Cada persona puede tener su propio espacio para probar ideas nuevas sin tocar la base de código principal. Puedes probar ideas salvajes, refactorizar sin miedo y fusionar en la base de código principal solo cuando todo esté en condiciones. La colaboración se convierte en exploración, no en riesgo.

  • Ofrece redundancia integrada. La copia de cada desarrollador es una copia de seguridad completa del proyecto, no solo una instantánea. Si un servidor se cae o un repo desaparece, cualquier clon puede recuperarlo todo en minutos.

El sistema de control de versiones más popular hoy es Git, que es un sistema de control de versiones distribuido (¡bien!).