Definition „Code Repository“

Was ist eine Code Repo?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

Über ein Code Repository sind neben der aktuellen Version einer Software auch Vorgängerversionen zugänglich.
Über ein Code Repository sind neben der aktuellen Version einer Software auch Vorgängerversionen zugänglich. (Bild: misterfarmer - Pixabay.com / CC0)

Das Code Respository ist das zentrale Element in jeder Versionsverwaltung, da an diesem Ort der jeweils aktuelle Code gebündelt und sicher aufbewahrt wird. Alle Änderungen am Code werden in der Code Respository verwaltet und strukturiert.

In der modernen Anwendungsentwicklung wird kaum noch ohne eine gute und umfassende Versionsverwaltung gearbeitet. Eine solche erlaubt es, verschiedene Änderungen am Code nachzuvollziehen, die verschiedenen Versionen des Codes zu vergleichen und vor allem mit allen Mitarbeitern gemeinsam an einem Code zu arbeiten, ohne dass Änderungen überschrieben werden können.

Hierbei spielt das Code Repository eine wichtige Rolle, es ist – wie der Name bereits andeutet – ein Aufbewahrungsort oder Behälter für den Code. Im Code Repository befindet sich immer die aktuellste Version des Codes und des entsprechenden Verzeichnisbaumes.

Alle Zugriffe erfolgen stets zunächst auf diese jüngste Version. Zum Arbeiten wird nun für jede Anforderung ein lokaler Verzeichnisbaum, eine sogenannte Arbeitskopie erzeugt, welche mittels Checkout mit der Version im Code Respository abgeglichen wird.

In allen Versionsverwaltungen vertreten

Grundsätzlich unterscheidet man drei unterschiedliche Versionen der Versionsverwaltung. Zum einen die lokale Verwaltung, bei welcher die Code Repository direkt auf dem lokalen Computer des Anwenders zu finden ist. Dies ist vor allem für kleine Einzelplatz-Lösungen möglich.

In modernen Entwicklungsumgebungen ist dies allerdings nicht die Regel. Hier werden in der Regel entweder zentrale oder verteilte Versionsverwaltungen eingesetzt. Bei einer zentralen Versionsverwaltung läuft diese auf einem zentralen Server, auf welchem sich auch die Code Repository befindet.

Alle Teilnehmer können direkt auf den Server und über die Versionsverwaltung auf die Code Repository zurückgreifen und somit effizient arbeiten. Darüber hinaus ist die Versionsgeschichte der einzelnen Versionen und Revisionen nur in der Code Repository vorhanden.

Komplizierter wird es bei der verteilten Versionsverwaltung. Hier gibt es keine zentrale Code Repository und keinen zentralen Server. Es kommt somit auch nicht zu Konflikten, wenn unterschiedliche Nutzer die gleiche Version einer Datei ändern oder bearbeiten. Die geänderten Dateien können parallel existieren und weiterentwickelt werden. Allerdings ist es möglich, diese Daten anschließend zusammenzuführen und wieder als einheitliche Datei zu speichern.

Die hohe Bedeutung des Code Respository

Ohne das Code Repository kann es zu ernsthaften Problemen kommen, da keine einheitlichen Standards bei der Versionsverwaltung mehr eingehalten werden können. Somit ist es unabdingbar für eine hohe Effizienz, dass das Code Repository gut geführt und vom Versionsverwaltungsprogramm ordnungsgemäß implementiert wird.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist dpkg?

Definition „Debian Package Manager“

Was ist dpkg?

Seit 1994 macht der Debian Package Manager dpkg die Installation von Softwarepaketen unter GNU/Linux-Installation smart. Metadaten im Softwarepaket und eine Datenbank im System ermöglichen dem Tool, Abhängigkeiten und Konflikte bei der Installation zu erkennen sowie eine saubere Deinstallation durchzuführen. lesen

Ubuntu-Software per PPA bereitstellen

Personal Package Archive bauen, signieren und verteilen

Ubuntu-Software per PPA bereitstellen

Eine Software zu entwickeln ist die eine Sache, sie zu distribuieren eine ganz andere. Eine komfortable Möglichkeit für den Nutzer ist die Bereitstellung als Personal Package Archive (PPA) über den Ubuntu-eigenen Launchpad-Service. lesen

8 Tipps für DevSecOps und Continuous Testing

Sichere Web-Applikationen trotz agiler Entwicklung

8 Tipps für DevSecOps und Continuous Testing

Das Tempo und die Agilität, die mit DevOps einhergehen, können sich nachteilig auf die Sicherheit auswirken. Eine Abhilfe verspricht DevSecOps durch die Integration kontinuierlicher Sicherheitsprozesse. Janosch Maier, Co-Founder von Crashtest-Security, hat acht Tipps für entsprechende Strategien parat. lesen

Was ist Git?

Definition „Git SCM“

Was ist Git?

Git ist ein weit verbreitetes Open-Source-Tool zur verteilten Versionskontrolle von Software. Es wird sowohl in Unternehmen als auch von privaten Entwicklern weltweit genutzt und funktioniert zusammen mit verschiedensten Plattformen und IDEs. lesen

GitHub Actions API wird CI/CD-fähig

Continuous-Integration- und -Deployment-Workflows

GitHub Actions API wird CI/CD-fähig

Als API für Code-gesteuerte Development-Workflows soll GitHub Actions dabei helfen, ganze Softwareentwicklungsvorgänge zu teilen. CI/CD-Fähigkeiten gingen der Lösung aber ab, wie Beta-Testern auffiel. lesen

DevOps – alles agil, oder was?

Agile und klassische Prozesse im Vergleich

DevOps – alles agil, oder was?

Bei dem ganzen Hype um DevOps und Agile vergisst man schnell, dass sich die klassische Softwareentwicklung manchmal besser eignet. Ein Vergleich zweier Software-Produktionsstraßen im Kontext klassisch versus innovativ zeigt die Grenzen der Agilität auf. lesen

Entwicklerportal für Fuchsia-OS

Android-Nachfolger nimmt Gestalt an

Entwicklerportal für Fuchsia-OS

Google hat ein Entwicklerportal für Fuchsia OS gestartet. Das Betriebssystem, das als potentieller Nachfolger für den derzeitigen Smartphone-Platzhirsch Android gehandelt wird, basiert nicht auf Linux, sondern einem eigenen Mikrokernel namens Zircon. lesen

5 freie Versionskontrollsysteme im Überblick

Git, SVN, Mercurial, Bazaar und Fossil

5 freie Versionskontrollsysteme im Überblick

Ein Version Control System, kurz VCS, bringt beim Programmieren Ordnung ins Code-Chaos. Doch die Software-Kategorie löst ähnlich emotionale Debatten aus, wie es bei Betriebssystemen oder Texteditoren der Fall ist. Wir stellen die wichtigsten quelloffenen und freien Kandidaten vor. lesen

Was ist HELM?

Definition „HELM (Kubernetes)“

Was ist HELM?

Helm ist ein Tool zum einfachen Installieren, Veröffentlichen, Verwalten, Updaten und Skalieren von vorkonfigurierten Kubernetes-Anwendungen. Mittlerweile wird das Projekt durch CNCF, sprich die Cloud Native Computing Foundation betreut. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45106982 / Definitionen)