Ein Repository ist der Ort, an dem ein Projekt samt seiner gesamten Geschichte liegt. Es enthält die Dateien und dazu jeden Stand, den sie je hatten, mit Datum, Urheber und Begründung. Englisch repository heißt Lager oder Verwahrort.
- Repository
Der Ort, an dem ein Projekt samt seiner gesamten Geschichte liegt.
Beispiel: „Das Repository der Website liegt bei GitHub, jeder im Team hat eine vollständige Kopie.“Auch: Repo. Technisch ist es der Ordner
.gitneben deinen Dateien; er hält die Geschichte, der Rest ist dein Arbeitsverzeichnis.Abgrenzung zum Remote: Das Remote ist ein Repository auf einem Server. Es unterscheidet sich technisch nicht von deinem, es ist nur dasjenige, auf das sich alle geeinigt haben.
Warum jeder eine vollständige Kopie des Repository hat
Ein Clone holt die ganze Geschichte mit und beschränkt sich nicht auf den aktuellen Stand. Dadurch kann jeder im Team ohne Verbindung arbeiten, in alten Ständen nachsehen und Zweige anlegen.
Der Preis ist Platz auf der Festplatte, und der fällt erst bei großen Dateien ins Gewicht. Deshalb gehören Bilder in Originalgröße, Videos und fertige Pakete nicht ins Repository.
Was in ein Repository gehört und was nicht
Hinein gehört alles, was den Zustand des Projekts beschreibt: Quelltext, Vorlagen, Konfigurationsdateien ohne Geheimnisse und die Dokumentation. Draußen bleibt alles, was sich daraus erzeugen lässt, also Abhängigkeiten, gebaute Dateien und Zwischenstände.
Draußen bleiben außerdem Zugangsdaten. Einmal eingecheckt, stehen sie in der Geschichte und lassen sich dort nur mit erheblichem Aufwand wieder entfernen; einfacher ist es, sie für ungültig zu erklären.
Woran man ein gepflegtes Repository erkennt
An lesbaren Commit-Nachrichten und daran, dass der Hauptzweig jederzeit lauffähig ist. Beides kostet im Alltag Disziplin und zahlt sich in dem Moment aus, in dem jemand wissen muss, warum eine Zeile so dasteht.
Ein zweites Zeichen ist eine Datei, die erklärt, wie das Projekt aufgesetzt wird. Wer ein Repository übernimmt und nach einer Stunde noch sucht, hat kein technisches Problem, sondern ein dokumentarisches.