Versionskontrolle mit Git und SVN

Einführung Versionskontrolle

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das gleichzeitige Arbeiten von mehreren Personen an einem Dokument stellt die Grundidee der Versionskontrolle dar. Dabei führt das System sämtliche Änderungen in einem Dokument zusammen.

Transkript

Haben Sie sich schon immer mal gefragt, was Versionskontrolle ist? Oder wie Sie besser in einer Gruppe von Leuten miteinander zusammenarbeiten können? Oder wie Sie selbst wieder Herr Ihrer gesamten Dokumentsammlung werden? Im Laufe dieses Videos möchte ich Ihnen nun zeigen, wie Versionskontrolle Ihnen dabei helfen kann. Zunächst einmal ist es dafür notwendig, zu verstehen, was Versionskontrolle überhaupt ist. An dieser Stelle sehen wir Markus und Maximilian. Beide wollen nun gemeinsam an einem Projekt arbeiten. Dieses Projekt beinhaltet diverse Textdateien. Da beide immer daran interessiert sind, einen möglichst aktuellen Stand von allen Dateien zu haben, verwenden sie nicht blöderweise einen E-Mail Client, um Dateien miteinander auszutauschen sondern einen geteilten Ordner. Dieser Ordner kann sich nun beispielsweise in der Cloud befinden oder ein einfacher Windows Fileshare sein. Beide entscheiden sich nun, zum selben Zeitpunkt an der gleichen Datei zu arbeiten. Dafür lädt sich jeder der beiden eine Kopie herunter. Das bedeutet, zu diesem Zeitpunkt hat jeder seine eigene Kopie der Datei. Maximilian arbeitet etwas schneller an der Datei und dementsprechend hat er zuerst Änderungen vorgenommen. Damit Markus an dieser Stelle auch diese Änderungen bekommen kann, lädt Maximilian die neue Datei nun in den Ordner hoch. Das bedeutet, Maximilians Version ist nun die aktuellste Version in diesem Ordner. Markus hat allerdings noch seinen alte Kopie und führt dort Änderungen durch an einer anderen Stelle. Wenn nun auch Markus seine Datei hochlädt, ist nun Markus' Version die neueste Version. Mit diesem Vorgang ist Markus seine Version nun die neueste Version, Markus wusste nichts von der neuen Version von Maximilian. Dementsprechend sind die Veränderungen von Maximilian nun nicht mehr im Ordner verfügbar. Weiß Maximilian nun an dieser Stelle auch nicht, dass Markus eine neue Version hochgeladen hat, kann es nun sein, dass Maximilian an seiner eigenen Version weiterarbeitet und wieder die Version von Markus überschreibt. An diesem Punkt sollte nun klar sein, dass das Konzept eines geteilten Ordners bei der Zusammenarbeit nur schlecht funktionieren kann. Der erste Mechanismus, um dem entgegen zu wirken, ist der Prozess des Lockings. Auch beim Locking laden sich nun beide Parteien die entsprechende Datei auf ihren Computer. Wenn nun einer von beiden mit einer Datei arbeiten möchte, Setzt er einen so genannten Lock auf diese Datei. Dadurch, dass Maximilian nun den Lock auf diese Datei hält, ist es Markus nicht möglich, eine neue Datei hochzuladen. Maximilian kann also nun in Gewissheit an seiner eigenen Version der Datei arbeiten und diese entsprechend hochladen. Dennoch ist es nun auch hier so, dass Markus seine eigene Version besitzt. und sollte er nicht gewusst haben, dass Maximilian in der Zwischenzeit Änderungen vorgenommen hat, würde er, nachdem Maximilian den Lock wieder aufgehoben hat, dennoch eine falsche Version hochladen. Das bedeutet, dieser Mechanismus ist nur ideal, um dafür zu sorgen, dass niemand eine Änderung hochladen kann, während eine andere Person daran arbeitet. Aus Sicht der Effizienz ist das auch nicht sinnvoll, denn so kann immer nur eine Person an einer Datei arbeiten. Die Prinzipien der Versionskontrolle nehmen sich nun diesem Problem an. Auch in diesem Fall laden sich nun beide wieder eine aktuelle Version herunter. Auch an dieser Stelle nimmt Maximilian Änderungen am Dokument vor, lädt dieses neue Dokument hoch, und in dem Moment, wo das neue Dokument hochgeladen wird, entsteht parallel eine Dateihistorie. Das heißt ein Versionskontrollsystem nimmt nun die alte Version, sichert diese und nimmt Maximilians Version als die aktuelle. Auch Markus hat an dieser Stelle an seinem Dokument gearbeitet und möchte es nun hochladen. In dem Moment, in dem Markus seine Datei hochlädt, wird die letzte Version von Maximilian gesichert, aber anstatt dass nun Markus' Version die aktuelle Version wird, wird die Version von Maximilian, der an einem anderen Teil des Dokuments gearbeitet hat, mit der Version von Markus zusammengeführt und es entsteht ein neues, gemeinsames Dokument mit Änderungen beider. Besonders dieser einfache Vorgang des Zusammenführens von Änderungen ist das, was Versionskontrolle so vorteilhaft macht. Versionskontrollsysteme ist ein weiter Begriff. Lassen Sie uns nun betrachten, welche Anwendungsfälle tatsächlich damit möglich sind. Zunächst einmal ist die Zusammenführung von Änderungen an einfachen Textdokumenten oft ohne Probleme und automatisierbar möglich. Diese eigenen sich nun also besonders gut für die meisten Versionskontrollsysteme. Besonders aber auch bei der Programmierung werden Unmengen von Textdateien produziert. So genannter Source Code. Auch dieser eignet sich dementsprechend gut. Da sich so auch automatisch eine Dokumentation über Änderungen am SourceCode ergibt. Auch Konfigurationsdateien von Servern und anderen Anwendungen eignen sich oftmals sehr gut, da es sich auch um einfache Textdokumente oder XML Dateien handelt. Die meisten herkömmlichen Versionskontrollsysteme besonders beispielsweise Subversion oder Git eignen sich nicht optimal für die Versionierung von Binärdateien. Binärdateien ist also all das, was nicht einfach nur eine Textdatei ist. Versionskontrollsysteme können diese zwar in verschiedenen Versionen speichern, sind aber im Regelfall nicht in der Lage, automatisch Änderungen zusammenzuführen. Wenn ich nun beispielsweise in Photoshop eine Grafik erstelle und eine neue Ebene hinzufüge, ist es einem Versionskontrollsystem im Regelfall nicht möglich, die Änderungen, die beispielsweise ein anderer Nutzer von Photoshop in die Datei geschrieben hat, mit meinen Änderungen zusammenzuführen. Unter die Kategorie der Binärdateien fallen allerdings auch Office Dokumente, also Excel Sheets, Word Dokumente und Powerpoints. Auch diese sind in verschiedenen Versionen vorhaltbar, werden jedoch nicht automatisch zusammengeführt. Allerdings gibt es für den Fall von Office Dokumenten Versionskontrollsysteme, die Microsoft selbst bereit stellt. Das ist beispielsweise die Software Sharepoint, die allerdings nur im Unternehmensumfeld Sinn macht, und der Cloud Dienst OneDrive. Mit dem es dann auch möglich ist, gemeinsam an den selben Textdokumenten, Excel Dokumenten und Powerpoints zu arbeiten und Änderungen entsprechend zusammenzuführen. Betrachtet man nun also noch mal das Layout eines solchen Kontrollsystems, gibt es nun also von jeder der Dateien die sich beispielsweise in einem Arbeitsordner befinden, viele verschiedenen Versionen. Oftmals enthalten dieser Versionen auch weitere Informationen. beispielsweise wer zuletzt die Änderung vorgenommen hat. Dadurch ist es einerseits möglich festzustellen, wer welche Änderungen vorgenommen hat, und es ist auch möglich, zu entsprechend älteren Versionen der Datei zurückzukehren Jede dieser Dateien besitzt auch normalerweise einen Versionscode. Das ist der Code, in dem die Datei hinzugefügt wurde. Außerdem ist es möglich, oftmals Metadaten zu vergeben. Metadaten sind Daten, die Eigenschaften über diese Datei aussagen. Auch diese lassen sich im Regelfall versionieren. Zum Beispiel kann sich die Priorität einer Präsentation über ihren Weg der Entwicklung verändern. Jede dieser Dateien besitzt nun eigene dieser Informationen. In diesem Video haben Sie nun also die Grundprinzipien von Versionskontrolle kennen gelernt.

Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:18.09.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!