A2A
Comme toutes les autres réponses l'ont souligné, un dépôt (communément appelé repo) est un endroit pour stocker du code.
Il existe plusieurs façons différentes de gérer les dépôts. Le système moderne le plus populaire est git. Git est un système de contrôle de version distribué pour à peu près tout, mais il est couramment utilisé pour stocker le code source et les actifs pour les logiciels. Il peut suivre et étiqueter les modifications, ce qui permet aux utilisateurs de revenir à des versions antérieures ou de les comparer à d'autres branches. Il existe une discipline entière autour de la façon de gérer/utiliser les dépôts git.
Il existe aussi d'autres systèmes de gestion de version, comme SVN (Subversion) et CVS. Ceux-ci sont plus anciens et tombent généralement en désuétude auprès des développeurs émergents, mais ils existent toujours.
Un simple système de fichiers (comme un répertoire/dossier sur un ordinateur) peut également être un dépôt de logiciels. Dans les "vieux" jours, les dépôts de logiciels étaient juste basés sur les disques/CD.
Les dépôts de logiciels sont un concept très simple, mais la gestion des repo est pratiquement une science. Il y a beaucoup de défis auxiliaires autour de la gestion des logiciels (problèmes, docs, mauvais code, cycles de publication, déploiements, sauvegardes, etc). Les solutions que les gens créent pour ces défis sont ce qui en fait un sujet plus complexe.