Versionsverwaltung

Was ist Versionsverwaltung? & Wofür ist es gut?

Versionsverwaltung ist ein System, welches die Änderungen an einer oder einer Reihe von Dateien über die Zeit hinweg protokolliert, sodass man später auf eine bestimmte Version zurückgreifen kann.

Lokale Versionsverwaltung
Viele Menschen betreiben Versionsverwaltung, indem sie einfach all ihre Dateien in ein separates Verzeichnis kopieren. Diese Vorgehensweise ist sehr weit verbreitet und wird gern verwendet, weil sie so einfach ist. Aber sie ist eben auch unglaublich fehleranfällig. Man arbeitet sehr leicht im falschen Verzeichnis, bearbeitet damit die falschen Dateien oder überschreibt Dateien, die man eigentlich nicht überschreiben wollte. Aus diesem Grund, haben Programmierer bereits vor langer Zeit, lokale Versionsverwaltungssysteme entwickelt, die alle Änderungen an allen relevanten Dateien in einer Datenbank verwalten.
lokale_versionsverwaltung
CVCS -Centralized Version Control System
Ein weiteres großes Problem, mit dem sich viele Leute dann konfrontiert sahen, bestand in der Zusammenarbeit mit anderen Entwicklern auf anderen Systemen. Um dieses Problem zu lösen, wurden zentralisierte Versionsverwaltungssysteme entwickelt (engl. Centralized Version Control System, CVCS). Diese Systeme, wozu beispielsweise CVS, Subversion und Perforce gehören, basieren auf einem zentralen Server, der alle versionierten Dateien verwaltet. Die Clients können die Dateien von diesem zentralen Ort abholen und auf ihren PC übertragen. Den Vorgang des Abholens nennt man Auschecken (engl. to check out). Diese Art von System war über viele Jahre hinweg der Standard für Versionsverwaltungssysteme.
zentrale_versionsverwaltung
DVCS - Distributed Version Control System
Bei DVCS ist man nicht an einen zentralen Server gebunden, um alle Versionen einer Projektdatei zu speichern. Jeder Mitwirkende verfügt hier über eine lokale Kopie "Klon" des Hauptrepositorys, das heißt jeder verwaltet sein eigenes lokales Repository und hat dies auf seiner Festplatte. So kann man das lokale Repository ohne Störung verändern und aktualisieren.
DVCS Was sind die Vorteile hierbei?
  • Vorgänge wie "Push/Pull" sind sehr schnell, das nur auf die Festplatte zugegriffen werden muss und nicht auf den Remote-Server. Daher brauch man auch keine Internetverbindung.
  • Änderungen können lokal geschrieben werden, ohne das Hauptrepository zu manipulieren.
  • Da jeder Entwickler über eine vollständige Kopie des Projekt-Repositorys verfügt, kann er Änderungen untereinander austauschen, wenn er Feedback erhalten möchte, bevor er Änderungen im Haupt-Repository beeinflusst.
Git_Workflow

Hier findest du einen Git-Kurs mit dem du Spielen die funktionen von git lernen kannst.

Du kannst aber auch hier bei t3n nachlesen wie du schnell in Git einsteigst.

Zurück