Qué es un repositorio de software?

A2A

Como todas las demás respuestas han señalado, un repositorio (comúnmente llamado repo) es un lugar para almacenar código.

Hay varias formas diferentes de gestionar repos. El sistema moderno más popular es git. Git es un sistema de control de versiones distribuido para casi cualquier cosa, pero se utiliza comúnmente para almacenar el código fuente y los activos para el software. Puede rastrear y etiquetar los cambios, permitiendo a los usuarios retroceder a versiones anteriores o comparar con otras ramas. Hay toda una disciplina en torno a cómo gestionar/utilizar los repos de git.

También hay otros sistemas de gestión de versiones, como SVN (Subversion) y CVS. Estos son más antiguos y generalmente están cayendo en desgracia con los desarrolladores emergentes, pero todavía están alrededor.

Un simple sistema de archivos (como un directorio/carpeta en un ordenador) también puede ser un repositorio de software. En los "viejos" tiempos, los repositorios de software sólo se basaban en el disco/CD.

Los repositorios de software son un concepto muy simple, pero la gestión de los repo es prácticamente una ciencia. Hay un montón de desafíos auxiliares en torno a la gestión del software (problemas, documentos, código malo, ciclos de liberación, despliegues, copias de seguridad, etc). Las soluciones que la gente crea para estos retos son las que hacen que este tema sea más complejo.