Versionierungsstrategien

Überblick Versionierungsstrategien

Versionsgeschichte
Version Aktualisierungsdatum
0.1 (Erste Fassung) 21.05.2014

Single Branch

Die single Branch-Strategie ist die einfachste Methode eigene Daten zu versionieren.

In vielen Bereichen kommt man heute nicht mehr ohne eine Versionierung aus. Es geht dabei nicht nur um die Software-Entwicklung. Auch andere Berufe sind immer mehr auf eine Geschichte des eigenen Tuns angewiesen. Spontan fallen mir dazu Lehrer (mit den Skripten für den Unterricht, die sich ständig ändern und weiterentwickelt werden), Dozenten, Buchautoren, Schüler / Studenten (mit wissenschaftlichen Arbeiten, Bachelor und Master-Arbeiten usw.). Es gibt mit Sicherheit auch viele andere Berufsgruppen, die eine Versionsverwaltung benötigen, die nicht auf den ersten Blick zu erkennen sind.

Aus diesem Grund möchte ich in dieser Serie von Tutorials die unterschiedlichen Versionierungsstrategien beleuchten und die jeweiligen Vor- und Nachteile auflisten. Am Ende werden auch immer ein paar Beispiele für den Einsatz der jeweiligen Strategie aufgezählt, für die diese gut geeignet sind. Die Liste der Strategien ist mit Sicherheit nicht vollständig und ich hoffe mit der zeit diese auch zu aktualisieren, soweit die Entwicklung in diesem Segment neue Früchte trägt.

Warum überhaupt versionieren?

Bei der Software-Entwicklung (und auch beim Schreiben von größeren Texten) ist es sinnvoll von Zeit zu Zeit den aktuellen Arbeitsstand zu sichern. Am Anfang reicht hierfür vielleicht die Kopie des Projektordners (oder der Datei) auf einer externen Festplatte (in z.B. einen Unterordner mit dem Zeitstempel als Namen). Irgendwann wird dies aber zu umständlich und zu unübersichtlich. Es wird Zeit über ein Versionierungssystem nachzudenken und damit auch über eine Versionierungsstrategie. Mit einer Versionierung kann man folgende Schwerpunkte erreichen (abhängig von der Strategie liegt die Gewichtung auf jeweils einen anderen Punkt):

  • Sicherung des aktuellen Standes
  • Möglichkeit jederzeit einen älteren Stand widerherzustellen
  • Arbeiten an mehreren Versionen eines Dokumentes (parallel)
  • Arbeiten mit mehreren Personen an einen Dokument (parallel)
  • Nachverfolgung der Arbeit (und der Fehler ;-) )

Die meisten Beispiele beziehen sich auf das DVCS git.