Was ist (Software-) Versionsverwaltung?

Eine Versionsverwaltung ist ein System, das den gemeinsamen Zugriff mehrerer Personen bzw. Nutzer auf Dateien koordiniert. Diese Versionsverwaltungssysteme werden mit VCS (Version Control System) abgekürzt. Sie sind eine Form des Variantenmanagements. In der Versionsverwaltung können gleichzeitig Entwicklungen an mehreren Entwicklungszweigen stattfinden. Die einzelnen Entwicklungsstände bzw. Versionen werden archiviert und Änderungen protokolliert. Diese Änderungen können jederzeit rückgängig gemacht werden, da alle Versionsstände gespeichert werden und man zu diesem Versionsstand zurückspringen kann. Gespeichert werden in der Regel aber nur die Änderungen zwischen den einzelnen Versionen, was Speicherplatz spart.

Eine Versionsverwaltung ist vor allem dort sinnvoll, wo diese Faktoren aufeinandertreffen:

  • Vielen Dateien
  • Mehrere Nutzer
  • Zusammenarbeit an diesen Dateien erforderlich
  • Häufige Änderungen

Unter anderem ist Versionsverwaltung für Quelltexte geeignet, die in der Software- Entwicklung genutzt werden. Auch bei einigen Büroanwendungen oder Content-Management-Systemen kommt eine Versionsverwaltung zum Einsatz. Es kann aber auch für binäre Dateien genutzt werden. Eine empfehlenswerte Software, die auch für Unternehmen geeignet ist, ist Atlassian Bitbucket Server, die man über uns, den Atlassian Expert Platinum Pix Software, erhalten kann.

Die Hauptaufgaben einer Versionsverwaltung sind

  • Koordinierung des gemeinsamen Zugriffs von mehreren Personen auf Dateien
  • Gleichzeitige Entwicklung mehrerer Entwicklungszweige innerhalb eines Projekts
  • Archivierung der einzelnen Entwicklungsstände eines Projekts
  • Protokollierung der durchgeführten Änderungen
  • Wiederherstellung von alten Versionsständen

Arbeitsmodelle & Verwaltung

  • Kopieren-Verändern-Zusammenführen (Copy-Modify-Merge):
    In diesem Arbeitsmodell checkt der Bearbeiter die Datei bzw. eine Arbeitskopie aus. Beim Wieder-Einchecken werden die Änderungen zusammengeführt. Während der Bearbeitungszeit des Nutzers kann ein anderer Nutzer die Datei öffnen und lesen und auch auf dem eigenen Rechner bearbeiten. Derjenige, der die Datei zuerst wieder eincheckt, aktualisiert die Version. Der spätere Nutzer erhält beim Wiedereinchecken eine „out-of-date“- Meldung.
  • Sperren- Verändern- Entsperren (Lock-Modify-Write):
    In diesem Arbeitsmodell wird die zu bearbeitende Datei für andere Benutzer gesperrt während der Bearbeiter Änderungen durchführt. Nach erfolgter Änderung wird die Datei wieder für andere Nutzer freigegeben.

Versionsverwaltung lässt sich in drei Bereiche aufteilen: lokal, zentral und verteilt. Die lokale Versionsverwaltung versioniert nur eine lokale Datei. In der zentralen Versionsverwaltung wird eine Arbeitskopie aus einer gesamten Versionsverwaltung in einem Repository (Verzeichnis) ausgecheckt. In der verteilen Versionsverwaltung gibt es kein zentrales Verzeichnis, jeder Nutzer hat sein eigenes Repository. Hier erfolgt ein Austausch zwischen den Repositories und oft ist ein sogenanntes Master-Repository vorhanden.

In der Subversion (SVN) erfolgt die Versionierung anhand einer Revisionszählung. Dadurch ist eine direkte Zuordnung zu einem Zeitpunkt möglich. Es werden auch die Verzeichnisstrukturen versioniert. Eine Arbeitskopie wird ausgecheckt, Änderungen durchgeführt und diese anschließend an das Repository gesandt. Die Änderungen werden automatisch zusammengeführt und Konflikte beim Speichern müssen gegebenenfalls manuell gelöst werden. Bekannte Begriffe sind hier: Trunk (dies ist der Hauptentwicklungszweig), Branches (dies sind die Neben-Entwicklungszweige) und Tags (dies sind sogenannte Momentaufnahmen).

Git ist eine verteilte Versionsverwaltung, die häufig bei Open-Source-Projekten genutzt wird. Jeder Nutzer hat ein eigenes Verzeichnis (Repository) und es gibt ein Master-Repository. Hier arbeitet jeder in seinem eigenen Repository. Die getätigten Änderungen werden in das darüber liegende Repository übermittelt. Die Änderungen werden von Personen überwacht, die eine Integrator-Rolle innehaben und die die Änderungen wiederrum ins nächst höhere Repository geben. Die Hauptbegriffe sind hier Master (dies ist der Hauptentwicklungszweig), Branches (dies sind die Neben-Entwicklungszweige) und Tags (dies sind die sogenannten Momentaufnahmen).

Fordern Sie jetzt Ihre individuelle Atlassian Beratung an!

Wir stehen Ihnen bei Fragen zu Atlassian-Produkten und Projekten rund um Atlassian gerne mit Rat und Tat zur Seite.

Pixsoftware Projektmanagement

Schreiben Sie uns und wir melden uns innerhalb eines Werktags bei Ihnen.

Copyright © 2022 Pix Software GmbH