2095692

Git - So verwenden Sie die Versionskontrolle in Linux

18.08.2015 | 13:03 Uhr |

Die gemeinsame Bearbeitung von Office-Dokumenten wird schnell unübersichtlich. Welche Version ist nun die zuletzt bearbeitete und verbindliche? Quellcode-Entwickler nutzen eine Versionskontrolle: Warum nicht beide Welten miteinander verbinden?

Microsoft Office und Libre Office besitzen Funktionen, um die Bearbeitungsschritte an Dokumenten zu protokollieren. Diese Funktionen sind allerdings weder populär noch sonderlich zugänglich . Es gibt andere Möglichkeiten, um mit einer Versionskontrolle Änderungen an Dateien zu protokollieren. Ein überaus erfolgreiches und weltweit beliebtes Programm für die Versionskontrolle ist Git . Damit erkennen Sie schnell die Differenzen machen und eventuelle Irrtümer wieder rückgängig.

So funktioniert die Versionsverwaltung

Zu Beginn Ihrer Arbeit legen Sie alle Dokumente und Dateien, die bereits vorhanden sind, in einem gemeinsam genutzten Verzeichnis ab. Es bildet Ihren Projektspeicher und wird in der Versionsverwaltung hinterlegt. Aus diesem Projektspeicher entnehmen Sie später eine Arbeitskopie. Rein technisch legen Sie eine Kopie aller Dokumente in einem anderen Ordner an. Die Versionskontrolle stellt fest, wenn Sie an Dokumenten gearbeitet haben, die zu einem Projekt gehören. Haben Sie einen Zwischenschritt erreicht, übertragen Sie die Dokumente wieder in das zentrale Verzeichnis – damit ist eine neue Version entstanden. Wenn Sie eine Version anlegen, fügen Sie üblicherweise noch einen kurzen Kommentar hinzu, so dass für andere Bearbeiter verständlicher wird, welcher Projektschritt erreicht wurde oder welche inhaltlichen Änderungen Sie vorgenommen haben.

Git installieren und einrichten

Die Installation von Git erledigen Sie in einem Terminal mit sudo apt-get install git . Wechseln Sie auf der Kommandozeile mit cd in den Ordner, der die Dateien Ihres Projekts enthält oder künftig enthalten soll. Damit es später zu keinen Fehlermeldungen kommt und die Verfolgung von Änderungen einfacher wird, hinterlegen Sie zunächst Ihren Benutzernamen und eine Mailadresse im System:

git config --global user.name [Name] git config --global user.email [Mailadresse]

Mit

git init

legen Sie jetzt ein neues Repository an. Das ist der zentrale Speicher für die Dateien, die Git verwalten soll. Die Versionsverwaltung erkennt nicht automatisch, welche Dateien Sie überwachen wollen. Sie fügen diese erst manuell hinzu. Das erledigen Sie mit

git add [Dateiname]

Wiederholen Sie dies für alle Dokumente, die Sie protokollieren möchten. Mit dem Befehl

git commit -m "KOMMENTAR"

legen Sie die erste Version des Projekts an. Damit sind Sie soweit, die erste Arbeitskopie anzulegen. Wechseln Sie in einem Terminal in ein Verzeichnis, das die Arbeitskopie enthalten soll. Mit

git clone [Pfad zum Repository]

wird Ihre Arbeitskopie angelegt. Arbeiten Sie nun mit den Dateien. Bearbeiten Sie Texte und legen Sie neue Dokumente an. Mit dem bereits genannten git add fügen Sie geänderte oder neue Dateien dem Projekt hinzu. Mit commit übergeben Sie die Dokumente.

Anzeige von Änderungen und Übergabe neuer Dateien: Das Bild zeigt einen typischen Output bei der Arbeit mit Git im Terminal.
Vergrößern Anzeige von Änderungen und Übergabe neuer Dateien: Das Bild zeigt einen typischen Output bei der Arbeit mit Git im Terminal.

Das Problem mit Binärdateien

Programme zur Versionsverwaltung wurden in erster Linie für die Arbeit mit Programmcode entwickelt, und das sind üblicherweise einfache Textdateien. Wenn Sie das ausprobieren wollen, legen Sie mit einem Editor Ihrer Wahl eine Textdatei an und fügen diese dem Projekt hinzu. Machen Sie dann einige Änderungen an diesem Text. Danach verwenden Sie in einem Terminal das Kommando git diff. Sie erhalten die Rückmeldung, dass es Unterschiede zwischen den Versionen gibt, und eine Anzeige, worin diese bestehen. Versuchen Sie das nun mit Office-Dokumenten, teilt Git Ihnen mit, dass es Änderungen gegeben hat. Sie erhalten aber auch den Hinweis, dass es sich um binäre Dateien handelt. Somit sehen Sie nicht, welche Überarbeitungen es in der Datei gegeben hat.

Lösung für DOC-Binärdateien: Geht es um Word-Dokumente im älteren DOC-Format, installieren Sie sich zunächst auf der Konsole einen Konverter:

sudo apt-get install catdoc

Legen Sie im Stammverzeichnis des Ordners, der Ihre Projektdateien enthält, eine Textdatei mit dem Namen „.gitattributes“ an. Hier tragen Sie diese Zeile ein:

*.doc diff=word

Besitzt eine Datei die Endung „doc“, wird jetzt der Filter „word“ darauf angewendet. Diesen Filter definieren Sie jetzt. Lassen Sie sich die versteckten Dateien in Ihrem Home-Verzeichnis anzeigen. Hier finden Sie die Datei „gitconfig“. Öffnen Sie die Datei mit einem Texteditor, und fügen Sie diese Filterdefinition ein:

[diff "word"] textconv = catdoc

Wenn Sie jetzt Word-Dokumente vergleichen, erhalten Sie die detaillierte Anzeige über die Änderungen.

Grafische Oberfläche: Die meisten Nutzer kennen Git als reines Kommandozeilen-Tool. Es geht aber auch grafisch, indem Sie in einem Terminal den Befehl git gui eingeben.
Vergrößern Grafische Oberfläche: Die meisten Nutzer kennen Git als reines Kommandozeilen-Tool. Es geht aber auch grafisch, indem Sie in einem Terminal den Befehl git gui eingeben.

Lösung für das DOCX- und ODTFormat: Das Programm catdoc kann mit diesen Formaten nichts anfangen. Der hier einschlägige Konverter heißt Pandoc und kann eine ganze Reihe von Textformaten (Markdown, Asciidoc, Docbook) und eben auch die Binärformate ODT und DOCX vermitteln. Nutzen Sie den Paketmanager Ihrer Distribution, um sich eine Pandoc-Version zu installieren. Leider hinken diese oft hinter dem aktuellen Entwicklungsstand zurück. Auf der Projektseite werden für einige Distribution Installationspakete angeboten. Hier gibt es auch Hinweise, wie Sie die Software aus dem Quellcode kompilieren, wenn Sie stets die aktuellste Fassung haben wollen.

Ist Pandoc installiert, richten Sie einen weiteren Filter in der Konfiguration von Git ein. In der bereits genannten Datei „.gitattributes“ tragen Sie

*.docx diff=pandoc

ein. Damit haben Sie den Filter „pandoc“ für aktuelle Office-Formate angelegt. Diesen füllen Sie nun ebenfalls in der Datei „gitconfig“ mit Leben:

[diff "pandoc"] textconv=pandoc –to=markdown prompt = false

Rein technisch wandelt Pandoc die Word-Dateien in ein simples Textformat um (Mark-down) und kann dadurch die Änderungen darstellen.

Filter sind auch für andere Formate einsetzbar

Die Definition eigener Filter für den Vergleich von Versionen in Git kann auch auf andere Formate übertragen werden. Einzige Voraussetzung dafür ist, dass es ein Programm für die Kommandozeile gibt, welches das Binärformat in Text umwandelt. Für ältere ODT-Dateien von Libre Office gibt es beispielsweise die Software odt2txt, die in den Paketquellen fast aller Distributionen enthalten ist. Libre Office besitzt außerdem die Besonderheit, Dateien als XML-Datei ablegen zu können. Solche Dateien werden wie Textdateien behandelt. Was nur wenigen Anwendern bekannt sein dürfte: Das Büroprogramm beherrscht einen Modus für die Kommandozeile. Wenn Sie ODT-Dateien in das XML-Format umwandeln wollen, erledigen Sie das so:

libreoffice --headless —convert-to fodt [datei]

Die Endung „fodt“ steht dabei für „Flat XML Dokument“. Danach sind die binären Dateien für Git lesbar.

0 Kommentare zu diesem Artikel
2095692