Versionierung Ulrich Lobis Joseph Wang-Kathrein Projektleitung Helmut W. Klug Datenmodellierung Selina Galka Datenmodellierung Elisabeth Steiner Bundesministerium für Wissenschaft, Forschung und Wirtschaft Zentrum für Informationsmodellierung - Austrian Centre for Digital Humanities, Karl-Franzens-Universität Graz Austria Zentrum für Informationsmodellierung - Austrian Centre for Digital Humanities, Karl-Franzens-Universität Graz Austria GAMS - Geisteswissenschaftliches Asset Management System Creative Commons BY 4.0 2021 Graz o:konde.14 KONDE Weißbuch Projektleitung Helmut W. Klug Weißbuchartikel: Versionierung Ulrich Lobis Joseph Wang-Kathrein Herausgegeben von Helmut W. Klug unter Mitarbeit von Selina Galka und Elisabeth Steiner 2021 Austria KONDE Weißbuch

Im KONDE-Projekt, das aus Hochschulraumstrukturmitteln finanziert wird, beschäftigten sich sieben universitäre Partner und drei weitere Einrichtungen aus unterschiedlichen Blickwinkeln mit theoretischen und praktischen Aspekten der Digitalen Edition. Ein Outcome des Projektes stellt das Weißbuch dar, welches über 200 Artikel zum Thema Digitale Edition umfasst. Die behandelten Themenkomplexe reichen dabei über Digitale Editionswissenschaft im Allgemeinen, Annotation und Modellierung, Interfaces, Archivierung und Metadaten bis hin zu rechtlichen Aspekten.

Deutsch
Versionierung
Lobis, Ulrich; ulrich.lobis@uibk.ac.at / Wang-Kathrein, Joseph; joseph.wang@uibk.ac.at

Mit dem Begriff ‘Versionierung’ wird zunächst auf die Speicherung der Zwischenstufen von Dateien oder Verzeichnisstrukturen verwiesen. Für jede Datei oder jeden Ordner wird bei jeder Änderung eine neue Version abgelegt. Die früheren Versionen der Dateien werden aber nicht gänzlich gelöscht und stehen Benutzerinnen und Benutzern nach Bedarf zur Verfügung.

Grundsätzlich kann man zwischen der Versionierung der eigenen oder projekt-internen Dateien und der Versionierung von bereits publizierten Daten unterscheiden. Im ersten Fall hilft der Einsatz von Versionierungsverwaltungssoftware nicht nur bei der Archivierung und Dokumentation von Projektfortschritten, sie erleichtert auch die Zusammenarbeit zwischen Projektmitgliedern. Sind Daten bzw. Editionen bereits veröffentlicht, dann kann der Einsatz von Versionierungslösungen dazu dienen, den Benutzerinnen und Benutzern den früheren Zustand des Datensatzes zur Verfügung zu stellen. Hier dient die Versionierung der Zitierbarkeit und der Nachvollziehbarkeit von Datenänderungen.

Die bekannteste Anwendung, die mit Versionierungen arbeitet, dürfte MediaWiki bzw. Wikipedia sein. Diese Anwendung erlaubt ihren Nutzerinnen und Nutzern, den Zustand eines Artikels zu einem früheren Zeitpunkt wiederherzustellen.

Für den Einsatz bei der Projektführung dürfte git die bekannteste Hauptanwendung sein, die u. a. bei GitLab und GitHub zum Einsatz kommt. Mit git ist es möglich, Verzeichnisstrukturen unter der Versionierung zu erstellen, sodass bei Bedarf der Zustand des Verzeichnisses zu einem früheren Zeitpunkt wiederhergestellt werden kann. Außerdem können die Unterschiede zwischen den einzelnen Versionen einer Datei angezeigt werden.

Git trennt zwischen dem Repositorium (git repository) und dem Arbeitsverzeichnis (working tree). Das Repositorium kann dabei zentral auf einem Server oder dezentral auf dem eigenen Computer liegen. Im Gegensatz zu anderen Versionierungsverwaltungen wie subversion werden auch alle Änderungen im Arbeitsverzeichnis gespeichert, sodass Versionen auch dann abgerufen werden können, wenn der Server nicht zur Verfügung steht.

Ein typischer Workflow mit git schaut so aus: Zuerst erstellt man ein Repositorium bzw. erhält den Link zu diesem. Dieses Repositorium wird zunächst geklont (clone), und ein Arbeitsverzeichnis wird auf dem lokalen Computer angelegt. Die Bearbeiterin bzw. der Bearbeiter verändert die Dateien im Verzeichnis nach Belieben. Nach der Bearbeitung der Dateien werden die Änderungen dem lokalen Arbeitsverzeichnis übergeben (commit) und dann ins Repositorium geschoben (push). Dabei vergleicht git die Ausgangsversion der Änderungen mit der aktuellsten Version dieser Datei im Repositorium. Diese Änderungen werden angenommen, wenn beide Versionen dieselben sind. Wird eine Datei zwischendurch von einer anderen Person bearbeitet und liegt deswegen eine neue Version dieser Datei vor, warnt git die Bearbeiterin/den Bearbeiter vor dem Versionskonflikt (conflict). Git lässt die Änderungen erst dann im Repositorium zu, wenn die Benutzerin/der Benutzer eigene und fremde Änderungen zusammengeführt hat (merge).

Kollaboration
GIT Github Gitlab
MediaWiki Wikipedia git GitLab GitHub
Archivierung