
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:t="http://www.tei-c.org/ns/1.0">
  <teiHeader xml:lang="de">
    <fileDesc>
      <titleStmt>
        <title type="main">Versionierung</title>
        <author>
          <persName>
            <forename>Ulrich</forename>
            <surname>Lobis</surname>
          </persName>
        </author>
        <author>
          <persName>
            <forename>Joseph</forename>
            <surname>Wang-Kathrein</surname>
          </persName>
        </author>
        <respStmt>
          <resp>Projektleitung</resp>
          <persName>
            <forename>Helmut W.</forename>
            <surname>Klug</surname>
          </persName>
        </respStmt>
        <respStmt>
          <resp>Datenmodellierung</resp>
          <persName>
            <forename>Selina</forename>
            <surname>Galka</surname>
          </persName>
        </respStmt>
        <respStmt>
          <resp>Datenmodellierung</resp>
          <persName>
            <forename>Elisabeth</forename>
            <surname>Steiner</surname>
          </persName>
        </respStmt>
        <funder>Bundesministerium für Wissenschaft, Forschung und Wirtschaft
                    </funder>
      </titleStmt>
      <publicationStmt>
        <publisher>
          <orgName corresp="https://informationsmodellierung.uni-graz.at" ref="http://d-nb.info/gnd/1137284463">Zentrum für
                        Informationsmodellierung - Austrian Centre for Digital Humanities,
                        Karl-Franzens-Universität Graz</orgName>
          <country>Austria</country>
        </publisher>
        <authority>
          <orgName corresp="https://informationsmodellierung.uni-graz.at" ref="http://d-nb.info/gnd/1137284463">Zentrum für
                        Informationsmodellierung - Austrian Centre for Digital Humanities,
                        Karl-Franzens-Universität Graz</orgName>
          <country>Austria</country>
        </authority>
        <distributor>
          <orgName ref="https://gams.uni-graz.at">GAMS - Geisteswissenschaftliches
                        Asset Management System</orgName>
        </distributor>
        <availability>
          <licence target="https://creativecommons.org/licenses/by-nc/4.0">Creative Commons
                            BY 4.0</licence>
        </availability>
        <date when="2021">2021</date>
        <pubPlace>Graz</pubPlace>
        <idno type="PID">o:konde.14</idno>
      </publicationStmt>
      <seriesStmt>
        <title ref="http://gams.uni-graz.at/konde">KONDE Weißbuch</title>
        <respStmt>
          <resp>Projektleitung</resp>
          <persName>
            <forename>Helmut W.</forename>
            <surname>Klug</surname>
          </persName>
        </respStmt>
      </seriesStmt>
      <sourceDesc>
        <bibl>
          <title>Weißbuchartikel: Versionierung</title>
          <author>Ulrich Lobis</author>
          <author>Joseph Wang-Kathrein</author>
          <publisher>Herausgegeben von Helmut W. Klug unter Mitarbeit von Selina Galka und Elisabeth Steiner</publisher>
          <date>2021</date>
          <country>Austria</country>
        </bibl>
      </sourceDesc>
    </fileDesc>
    <encodingDesc>
      <projectDesc>
        <ab>
          <ref target="info:fedora/context:konde" type="context">KONDE Weißbuch</ref>
        </ab>
        <p>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.</p>
      </projectDesc>
    </encodingDesc>
    <profileDesc>
      <langUsage>
        <language ident="de">Deutsch</language>
      </langUsage>
    </profileDesc>
  </teiHeader>
  <text xml:lang="de">
    <body>
      <div>
        <head>Versionierung</head>
        <div>
          <head>Lobis, Ulrich; ulrich.lobis@uibk.ac.at / Wang-Kathrein, Joseph; joseph.wang@uibk.ac.at</head>
          <p>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.</p>
          <p>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.</p>
          <p>Die bekannteste Anwendung, die mit Versionierungen arbeitet, dürfte <hi rend="italic">MediaWiki</hi> bzw. <hi rend="italic">Wikipedia</hi> sein. Diese Anwendung erlaubt ihren Nutzerinnen und Nutzern, den Zustand eines Artikels zu einem früheren Zeitpunkt wiederherzustellen.</p>
          <p>Für den Einsatz bei der Projektführung dürfte <hi rend="italic">git</hi> die bekannteste Hauptanwendung sein, die u. a. bei <hi rend="italic">GitLab</hi> und <hi rend="italic">GitHub</hi> zum Einsatz kommt. Mit <hi rend="italic">git</hi> 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.</p>
          <p>
            <hi rend="italic">Git</hi> trennt zwischen dem Repositorium (<hi rend="italic">git repository</hi>) und dem Arbeitsverzeichnis (<hi rend="italic">working tree</hi>). Das Repositorium kann dabei zentral auf einem Server oder dezentral auf dem eigenen Computer liegen. Im Gegensatz zu anderen Versionierungsverwaltungen wie <hi rend="italic">subversion</hi> werden auch alle Änderungen im Arbeitsverzeichnis gespeichert, sodass Versionen auch dann abgerufen werden können, wenn der Server nicht zur Verfügung steht.</p>
          <p>Ein typischer Workflow mit <hi rend="italic">git</hi> schaut so aus: Zuerst erstellt man ein Repositorium bzw. erhält den Link zu diesem. Dieses Repositorium wird zunächst geklont (<hi rend="italic">clone</hi>), 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 (<hi rend="italic">commit</hi>) und dann ins Repositorium geschoben (<hi rend="italic">push</hi>). Dabei vergleicht <hi rend="italic">git</hi> 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 <hi rend="italic">git</hi> die Bearbeiterin/den Bearbeiter vor dem Versionskonflikt (<hi rend="italic">conflict</hi>). <hi rend="italic">Git</hi> lässt die Änderungen erst dann im Repositorium zu, wenn die Benutzerin/der Benutzer eigene und fremde Änderungen zusammengeführt hat (<hi rend="italic">merge</hi>).</p>
          <div type="subsection" xml:id="links">
            <list>
              <item>
                <ref target="/o:konde.104" type="internal">Kollaboration</ref>
              </item>
            </list>
          </div>
          <div type="subsection" xml:id="software">
            <list>
              <item>
                <ref target="https://git-scm.com/" type="external">GIT</ref>
              </item>
              <item>
                <ref target="http://github.com" type="external">Github</ref>
              </item>
              <item>
                <ref target="http://gitlab.com/" type="external">Gitlab</ref>
              </item>
            </list>
          </div>
          <div type="subsection" xml:id="projects">
            <list>
              <item>
                <ref target="https://www.mediawiki.org/wiki/MediaWiki/de" type="external">MediaWiki</ref>
              </item>
              <item>
                <ref target="https://de.wikipedia.org/wiki/Wikipedia:Hauptseite" type="external">Wikipedia</ref>
              </item>
              <item>
                <ref target="https://git-scm.com/" type="external">git</ref>
              </item>
              <item>
                <ref target="https://about.gitlab.com/" type="external">GitLab</ref>
              </item>
              <item>
                <ref target="https://github.com/" type="external">GitHub</ref>
              </item>
            </list>
          </div>
          <div type="subsection" xml:id="topics">
            <list>
              <item>Archivierung</item>
            </list>
          </div>
        </div>
      </div>
    </body>
  </text>
</TEI>
