A2A
Come ogni altra risposta ha sottolineato, un repository (comunemente chiamato repo) è un posto per immagazzinare codice.
Ci sono diversi modi per gestire i repo. Il sistema moderno più popolare è git. Git è un sistema di controllo di versione distribuito per qualsiasi cosa, ma è comunemente usato per memorizzare il codice sorgente e le risorse del software. Può tracciare ed etichettare i cambiamenti, permettendo agli utenti di tornare alle versioni precedenti o di confrontarle con altri rami. C'è un'intera disciplina intorno a come gestire/utilizzare i repo git.
Ci sono anche altri sistemi di gestione delle versioni, come SVN (Subversion) e CVS. Questi sono più vecchi e generalmente cadono fuori dal favore degli sviluppatori emergenti, ma sono ancora in giro.
Un semplice file system (come una directory/cartella su un computer) può anche essere un repository di software. Ai "vecchi" tempi, i repo di software erano solo basati su disco/CD.
I repo di software sono un concetto molto semplice, ma la gestione dei repo è praticamente una scienza. Ci sono un sacco di sfide accessorie intorno alla gestione del software (problemi, documenti, cattivo codice, cicli di rilascio, distribuzioni, backup, ecc). Le soluzioni che le persone creano per queste sfide sono ciò che rende questo un argomento più complesso.