Definition „Code Merge“ Was ist ein Merge?

Von 4lagigdeluxe

Bei der Nutzung einer Software-Versionsverwaltung kommt es vor, dass einzelne Teilteams eines Projektes an eigenen Versionen arbeiten. Im Zuge des Code Merge werden diese abschließend zum finalen Produkt zusammengeführt.

Beim Merge werden mehrere Code-Teile oder Unterprojekte zu einem Ganzen zusammengefügt.
Beim Merge werden mehrere Code-Teile oder Unterprojekte zu einem Ganzen zusammengefügt.
(Bild: Gerd Altmann / Pixabay)

Merge (ausgesprochen etwa wie „Mörtsch“) kommt aus dem Englischen und bedeutet so viel wie „vereinigen“, „zusammenführen“ oder „verschmelzen“. Im Bereich der Software-Versionsverwaltung beschreibt der Begriff Merge einen Vorgang, bei dem mehrere Änderungen in verschiedenen Versionen einer Datei miteinander abgeglichen werden.

Bei den gängigen Versionsverwaltungssystemen wie z. B. GitHub ist das Mergen unterschiedlicher Datei-Versionen ein elementarer Vorgang. Hierbei nutzt jedes System eigene Merge-Algorithmen. Die meisten Versionsverwaltungssysteme werden mit grafischen Hilfsprogrammen ergänzt, mit denen das Mergen vereinfacht werden soll.

Anwendung und Nutzen des Merge

Eine Versionsverwaltung ermöglicht die gleichzeitige Änderung einer Datei durch mehrere Benutzer. Die Modifikationen und Erweiterungen in einer Datei werden automatisch in einzelnen Versionsständen gespeichert und anschließend automatisch oder auch nach Sichtung manuell zusammengeführt.

Dies erleichtert die Arbeit aller beteiligten Entwickler deutlich, da durchgeführte oder geplante Änderungen nicht vorab angekündigt werden müssen. Insbesondere dann, wenn viele Softwareentwickler in einer cloudbasierten Umgebung räumlich voneinander getrennt arbeiten (etwa bei internationalen Open-Source-Projekten), wird durch das Mergen ein effektives Arbeiten erst ermöglicht, weil kein direkter Kontakt zwischen den Teammitgliedern notwendig ist.

Der Hauptvorteil ist, dass eine zu bearbeitende Datei nicht für andere Mitarbeiter blockiert werden muss. Diese zugrundeliegende Philosophie bezeichnet man auch als „optimistische Versionsverwaltung“ und wird von den meisten verteilten und zentralen Systemen umgesetzt.

Merge in der Praxis mit Git

In GitHub werden die unterschiedlichen Versionsstände in sogenannten Branches verwaltet, wobei das Haupt-Repository als „Master“ bezeichnet wird. Aus dem Master heraus können neue Features und Funktionen einer Anwendung voneinander isoliert als eigenständige Entwicklungszweige erstellt werden, die später per Merge zusammengeführt werden.

Ein neuer Branch wird mit dem Befehl „git branch“ plus einer gewünschten Bezeichnung erstellt, also z. B.:

git branch version2.0

In diesen Branch kann man dann mit …

git checkout version2.0

… wechseln, um darin zu arbeiten. Sollen die Branches abschließend zusammengeführt werden, wird dieser Vorgang mit …

git merge

…vollzogen. Hierzu wechselt man mit …

git checkout master

… wieder in das Haupt-Repository und startet den Vorgang mit:

git merge version2.0

Wenn der verzweigte Branch „version2.0“ nicht mehr benötigt wird, kann man diesen mit …

git branch -d version2.0

… löschen.

(ID:48758286)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung