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

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

Images und Container unter Docker

Docker-Einführung, Teil 2

Images und Container unter Docker

Irgendetwas muss Docker besser machen, als andere bekannte Prinzipien und Methoden der Containerisierung und Isolierung. Im zweiten Teil des Docker-Workshops beleuchten wir daher das Konzept der Images, insbesondere den Unterschied zwischen Images und Containern. lesen

AWX und Ansible Tower 3.2 einrichten und nutzen

DevOps-Enabler Ansible, Teil 4

AWX und Ansible Tower 3.2 einrichten und nutzen

Nach der Installation von Ansible Tower werfen wir einen optionalen Blick auf die Installation von AWX, um uns dann mit Konzept und Arbeitsweise der grafischen Oberfläche für Ansible vertraut zu machen. Ab hier unterscheiden sich AWX und Ansible Tower kaum. lesen

Quantum Katas für Programmiersprache Q#

Microsoft lehrt Quantencomputer-Programmierung

Quantum Katas für Programmiersprache Q#

Das „Microsoft Quantum Team“ hat Coding Katas für Quantencomputer-Interessierte veröffentlicht. Diese sollen beim Erlernen der Programmiersprache Q# helfen und stehen als Open-Source-Projekt bei GitHub zur Verfügung. lesen

Swift unter Ubuntu Linux verwenden

App-Entwicklung mit Apple Swift, Teil 2

Swift unter Ubuntu Linux verwenden

Apple bietet die Programmiersprache Swift offiziell auch für Ubuntu-Linux an. Dadurch erschließt sich die einfache Welt von Swift auch Anwendern, die keinen Mac verwenden. Leider ist das nicht ganz so komfortabel wie Swift mit XCode auf dem Mac. lesen

Was ist Docker?

Definition „Docker (Software)“

Was ist Docker?

Docker legt Programme samt ihrer Abhängigkeiten in Images ab. Diese bilden die Basis für virtualisierte Container, die auf nahezu jedem Betriebssystem lauffähig sind. So werden Anwendungen portabel und unkompliziert, sei es während der Entwicklung oder beim Skalieren von SaaS-Clustern. lesen

GitHub alarmiert auch bei Python-Schwachstellen

Sicherheitswarnungen bei anfälligem Code

GitHub alarmiert auch bei Python-Schwachstellen

GitHub-Nutzer, deren Software-Repositories von Python-Paketen mit bekannten Sicherheitslücken abhängen, erhalten künftig entsprechende Sicherheitswarnungen. Bislang war die Alarmierung bei sicherheitskritischen Abhängigkeiten nur für Ruby- und JavaScript-Pakete verfügbar. lesen

Installation von Ansible Tower

DevOps-Enabler Ansible, Teil 3

Installation von Ansible Tower

Manch ein IT-Spezialist arbeitet lieber mit Kommandozeilen, doch auch grafische Oberflächen können Vorteile bieten. Bei Ansible wird dies mit Red Hat Ansible Tower realisiert, im dritten Teil unseres Workshops befassen wir uns mit der Installation des Enterprise-Frontends. lesen

Konfigurationsmanagement mit Puppet in der AWS-Cloud

AWS OpsWorks for Puppet Enterprise, Teil 3

Konfigurationsmanagement mit Puppet in der AWS-Cloud

Wurde der Puppet Enterprise-Server wie in Teil 1 unsers AWS OpsWorks-Workshops erfolgreich bereitgestellt, kann man erste verwaltete Knoten hinzufügen. Über die Puppet-Enterprise-Konsole lassen sich dann beispielsweise Knoten-Gruppen einrichten. lesen

Bereitstellung von Ansible

DevOps-Enabler Ansible, Teil 2

Bereitstellung von Ansible

Zwar haben wir uns schon mit der Funktionsweise und dem Einsatzzweck von Ansible beschäftigt. Bevor man die IT-Automation in Angriff nimmt und die ersten Kommandos absetzt, sollte man aber noch ein paar Grundlagen kennen. 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)