Ein Repository (kurz Repo) ist ein zentraler Speicherort für Quellcode und alle zugehörigen Dateien eines Projekts. Es verwaltet den gesamten Lebenszyklus des Codes — jede Änderung wird mit Versionsgeschichte, Autor und Zeitstempel nachvollziehbar festgehalten.
Lokale und entfernte Repositories
Bei verteilten Versionsverwaltungssystemen wie Git gibt es zwei Ebenen:
- Lokales Repository: Die Kopie auf dem eigenen Rechner, in der man offline arbeitet und Commits erstellt.
- Entferntes Repository (Remote): Der zentrale Server, über den das Team Änderungen austauscht — z. B. auf GitHub, GitLab oder einem eigenen Git-Server.
Der Workflow folgt meist dem Muster: Änderungen committen, per push ins entfernte Repository übertragen, per pull die Arbeit der anderen holen. Dafür stellen die Git-Befehle die nötigen Werkzeuge bereit.
Was in einem Repository lebt
Neben dem Quellcode enthält ein Repository typischerweise Konfigurationsdateien, Dokumentation, Tests und Build-Skripte. Die Versionierung erlaubt es, jederzeit zu früheren Zuständen zurückzukehren, Änderungen nachzuvollziehen und parallele Entwicklungslinien in Branches zu führen.
Plattformen wie GitHub und GitLab erweitern das Repository um Team-Funktionen: CI/CD-Pipelines, Issue-Tracking und Code-Reviews. Ein Pipeline-Lauf kann bei jedem Push Tests ausführen und den Code direkt zum Deployment bringen.
Der zweite Bedeutungsraum: Paket-Registries
Der Begriff Repository bezeichnet außerdem zentrale Paketquellen, aus denen Werkzeuge Software-Abhängigkeiten laden — etwa npm für JavaScript, Maven Central für Java oder Docker Hub für Container-Images. Der Package-Manager holt Pakete aus diesen Repositories und löst dabei die Abhängigkeitskette auf. Für Container spielt dabei Docker eine zentrale Rolle.
Gut gepflegte Repositories mit klarer Struktur, aussagekräftigen Commits und dokumentierten Releases sind das Rückgrat professioneller Softwareentwicklung — egal ob Open-Source-Projekt oder internes Firmensystem.