Zum Inhalt springen

Was ist ein Repository?

  • Python

Ein Repository ist ein zentrales Verzeichnis zur Ablage von Dateien, Dokumenten oder auch Datenmodellen. Je nach Anwendungsfall unterscheidet man verschiedene Arten von Repositories. In den häufigsten Fällen handelt es sich um ein sogenanntes Code-Repository, welches den aktuellsten Programmierstand in einem Software-Projekt enthält. Das Repository ist ein zentrales Element in der Versionskontrolle Git, mit deren Hilfe verschiedene Code-Stände im Laufe des Projektes gesammelt und zusammengeführt werden können.

Welche Arten von Repositories gibt es?

Grundsätzlich unterscheiden sich Repositories anhand der Anwendungsbereiche. Die häufigsten Anwendungen sind im Bereich Daten und zur Versionskontrolle von Softwareprojekten. Entsprechend unterscheidet man:

  • Data Repositories sind ein gemeinsamer Ablageort für strukturierte und unstrukturierte Daten. Damit fasst dieser Oberbegriff verschieden Datenspeicher, wie beispielsweise ein Data Warehouse, Data Lake oder eine Datenbank zusammen. Sie werden genutzt, um einen zentralen Speicherort für Daten zu haben und damit die Datenqualität sicherstellen zu können.
  • Ein Code Repository hingegen ist der zentrale Speicherort für Programmiercode, wie er in verschiedenen Versionskontrollen, wie zum Beispiel Git genutzt wird. Dazu werden einzelne Dateien aus dem zentralen Verzeichnis heruntergeladen, um Änderungen vorzunehmen oder neue Funktionen dem Code hinzuzufügen. Sobald dies abgeschlossen ist, wird die Datei wieder in das Verzeichnis hochgeladen und die Funktionalität mit den anderen Dateien sichergestellt.

Wie funktioniert Git?

Git ist eine sogenannte dezentrale Versionskontrolle. Dabei hat jeder Programmierer eine Kopie des aktuellen Repositories, also des Verzeichnisses, auf seinem lokalen Computer abgespeichert. Mit dieser lokalen Kopie kann der Programmierer dann entweder neue Dateien im Projekt erstellen oder bestehende abändern. Gleichzeitig kann er auch lokal testen und sicherstellen, dass die lokalen Änderungen keine Auswirkungen auf die Funktionalität des Gesamtprogramms haben.

Nachdem der aktuellste Stand runtergeladen wurde, erstellt man einen Branch, in der die Neuentwicklung programmiert wird. Sobald man die Änderungen vorgenommen und getestet hat, kann man sie committen, also speichern. Anschließend kann man jedoch nicht direkt den neuesten Stand einfach wieder in das Repository hochladen.

Veränderungsprozess in Git | Quelle: Autor

In der Zeit zwischen dem letzten Download des Repositories und der Umsetzung der Änderung können nämlich andere Teammitglieder das Repository überschrieben haben. Deswegen führt man einen Pull-Request durch, um den neuesten Stand des Repositories auf dem lokalen Rechner zu haben. Dann kann man diesen neuen Stand mit den Änderungen im Branch „mergen“. Dabei stellt man sicher, dass die eigenen Änderungen keine negativen Auswirkungen auf die Arbeit der anderen hat.

Welchen Zweck erfüllt das Code Repository?

Das Code Repository ermöglicht den Einsatz einer zentralen Versionsverwaltung, die sicherstellt, dass die verschiedenen Code-Stände für das gesamte Team zugänglich sind und es dadurch nicht zu Verwirrung kommt. Darüber hinaus wird es vor allem bei Open-Source Software verwendet, die nicht von einem zentralen Team verwaltet wird, sondern von einer großen Community, die nicht so einfach genau zu definieren ist.

Nach einem ähnlichen Prinzip wird aktuell auch in Deutschland versucht, eine öffentliche Plattform für deutsche Verwaltungen zu schaffen, in denen Software ausgetauscht und weiterentwickelt werden kann. Dadurch wird für die Öffentlichkeit Transparenz über die genutzten Systeme geschaffen und gleichzeitig eine schlankere und günstigere Verwaltung geschaffen.

In einem weiteren Sinne bietet diese zentrale Plattform auch vielerlei Möglichkeit in größer angelegten Projekten, die ansonsten nicht so einfach zu handhaben wären. Beispielsweise stellt GitHub ein zentrales und öffentliches Codeverzeichnis dar, auf dem ProgrammiererInnen öffentlich Projekte teilen können und in den Austausch gehen können.

Welche Vorteile hat ein Data Repository?

Durch die zentrale Speicherung von Daten, die für das komplette Unternehmen zugänglich sind, kann die Datenqualität einfacher gesichert werden und es wird sichergestellt, dass alle in der Organisation denselben Informationsstand haben. Ansonsten kann es zu Verwirrung aufgrund von verschiedenen Dateien, die möglicherweise zu unterschiedlichen Zeitpunkten erstellt wurden und somit verschiedene Stände repräsentieren.

Zusätzlich lässt sich durch die Zentralität auch einfacher eine Zugriffsverwaltung einrichten, sodass vertrauliche Daten nur für ausgewählte Personen zugänglich sind. Diesen können dann gezielte Auswertungen oder Reports erstellen für die Daten, die sie im Zugriff haben.

Abschließend lässt sich durch das zentrale Datenangebot auch Speicherplatz sparen, da die Anwender möglicherweise darauf verzichten, dezentrale Datensilos aufzubauen und darin Replikate von bereits vorhandenen Informationen abspeichern.

Das solltest Du mitnehmen

  • Ein Repository ist ein zentrales Verzeichnis zur Ablage von Dateien, Dokumenten oder auch Datenmodelle.
  • In der Anwendung werden verschiedene Arten von Repositories unterschieden. Die häufigsten sind dabei Code oder Data Repositories.
  • Datenverzeichnisse sind ein zentraler Ort zur Datenablage über den sich die Datenqualität sicherstellen lässt und Zugriffsberechtigungen verwaltet werden können.
  • Ein Code Repository wird genutzt, um den aktuellsten Code-Stand in einem Projekt zu verwalten und die Arbeit im Team zu vereinfachen.

Andere Beiträge zum Thema Repository

  • Über diesen Link gelangst Du zu GitHub. Es die wahrscheinlich bekannteste Form eines Code Repositories.
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner