
Repository
Ein Repository ist der zentrale Ablageort für alle Dateien eines Software-Projekts, samt vollständiger Änderungsgeschichte. Es ist der Ort, an dem Programmierteams gemeinsam an Code arbeiten – bekanntester Anbieter dafür ist GitHub.
Ein Repository ist der Ablageort für alle Dateien eines Software-Projekts. Man kann es sich als Projektordner vorstellen, der ein besonders gutes Gedächtnis hat. Denn gespeichert wird nicht nur der heutige Stand der Dateien, sondern jede einzelne Änderung, die je gemacht wurde. Dazu kommt bei jeder Änderung eine Notiz: wer sie gemacht hat, wann, und warum. Deshalb kann jederzeit jemand nachsehen, wie eine Datei vor drei Monaten aussah. Kurz gesagt heißt ein Repository meist einfach « Repo ».
Warum Teams ohne Repos nicht arbeiten können
An größeren Programmen arbeiten selten einzelne Menschen. Bei einem Betriebssystem oder einer Banking-App sind es hunderte oder tausende. Alle verändern gleichzeitig Dateien, die voneinander abhängen. Ohne einen gemeinsamen, geordneten Ablageort würde das sofort im Chaos enden. Das Repository ist die verbindliche Wahrheit darüber, wie das Projekt gerade aussieht.
Der zweite große Vorteil ist die Rückwärtsfahrt. Fast jede neue Programmversion bringt Fehler mit, manche davon schwere. Weil jeder alte Zustand gespeichert ist, kann ein Team einfach zurückspringen. Auch die Frage « Ab wann ist dieser Fehler eigentlich da? » ist beantwortbar, indem man die Geschichte durchsucht. In Firmen dient dieses Protokoll zusätzlich als Nachweis, wer welche Änderung freigegeben hat.
Für KI-Modelle sind Repositories doppelt wichtig geworden. Zum einen liegt der Code der Modelle dort. Zum anderen sind öffentliche Repositories eine der wichtigsten Quellen, aus denen Sprachmodelle Programmieren gelernt haben. Milliarden Zeilen offen zugänglicher Code stecken in ihren Trainingsdaten.
Commits, Branches und der Weg zurück
Die Technik hinter einem Repository heißt Versionskontrolle. Das mit Abstand verbreitetste Programm dafür ist Git. Wer etwas geändert hat, macht daraus einen Commit: ein abgeschlossenes Änderungspaket mit Kommentar. Diese Commits reihen sich zu einer Kette, die die gesamte Projektgeschichte bildet. Gelöscht wird dabei praktisch nie etwas, es kommt nur Neues dazu.
Damit sich Leute nicht in die Quere kommen, gibt es Branches, also Zweige. Ein Branch ist eine Abspaltung, auf der jemand ungestört experimentieren kann. Funktioniert das Ergebnis, wird der Zweig wieder mit dem Hauptstand zusammengeführt. Bearbeiten zwei Personen dieselbe Zeile unterschiedlich, meldet Git einen Konflikt und verlangt eine Entscheidung.
Meist liegt eine Kopie des Repositorys auf einem Server im Internet, und jeder Beteiligte hat eine vollständige Kopie auf dem eigenen Rechner. Man holt sich Änderungen der anderen herunter und schickt eigene hoch. Ein häufiger Irrtum ist, ein Repository sei bloß Speicherplatz wie eine Cloud-Festplatte. Der Unterschied ist die Geschichte: Eine Cloud kennt vor allem die neueste Datei, ein Repo kennt jeden Zwischenschritt.
GitHub, Open Source und Modelle zum Herunterladen
Der bekannteste Anbieter für Repositories ist GitHub, das zu Microsoft gehört und über 100 Millionen Nutzerkonten hat. Konkurrenten sind GitLab und Bitbucket. Wenn in Tech-News steht, ein Unternehmen habe eine Software « veröffentlicht », ist damit fast immer gemeint: Das Repository ist jetzt öffentlich einsehbar. So funktioniert Open Source, also Software, deren Quellcode jeder lesen und weiterverwenden darf.
In der KI-Welt spielt außerdem die Plattform Hugging Face diese Rolle. Dort liegen Repositories mit den fertigen Modelldateien, etwa von Metas Llama oder von Mistral. Wer ein solches Modell selbst betreiben will, lädt es von dort herunter. Auch Programmierhilfen wie GitHub Copilot setzen direkt am Repository an: Sie lesen den vorhandenen Code des Projekts, um passende Vorschläge zu machen.
Repositories tauchen deshalb auch in Streitfällen auf. Ob Modelle mit öffentlichem Code trainiert werden durften, beschäftigt Gerichte. Und wer als Schüler oder Studierende programmiert, legt seine Projekte oft auf GitHub ab. Dieses öffentliche Repo wirkt bei Bewerbungen in der Softwarebranche wie eine Arbeitsprobe.