Große Dateien versionieren mit Git-Annex

Die Versionsverwaltung von großen Binärdateien ist schwierig und hindert den Workflow. Wir zeigen, wie Sie mit Git-Annex große Dateien an Git vorbeischleusen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen

(Bild: Thorsten Hübner)

Lesezeit: 21 Min.
Von
  • Nikolaus Schüler
Inhaltsverzeichnis

Der diesjährige Urlaub in Balkonien hat erstaunlich viel Bild- und Videomaterial abgeworfen: Das Video, in dem Onkel Norbert im Planschbecken ausrutscht oder der Schnappschuss, in dem Wuffel das rohe Steak vom Grill klaut. Das Video schneidet man schnell an der Workstation im Arbeitszimmer, die Erzählerstimme nimmt man wegen der besseren Akustik lieber mit dem Notebook im Wohnzimmer auf. Die Dateien für das kreative Werk sollen dabei auf allen Geräten stets synchron bleiben. Da nichts so gut funktioniert wie eingespielte Workflows, soll ein Git-Repository alle Dateien verwalten.

Nur leider arbeitet Git im Schneckentempo, wenn es statt winziger Textdateien mit Quellcode riesige Binärdateien im WAV- oder MP4-Format verwalten soll. Der Push zum Server dauert ewig oder bricht sogar ganz mit einem Timeout ab. Statt Dateiriesen ersatzweise händisch mit FTP hochzuladen, verpasst man Git besser einen Anbau.

Mit der Erweiterung Git-Annex speichert Git auch große Dateien, ohne dass die Performance leidet. Und es kann sogar Kopien an mehreren Orten ablegen. Das in der Programmiersprache Haskell programmierte Werkzeug speichert im Repository nämlich nur Verweise auf die großen Binärdateien und liefert die Daten bei Bedarf und ohne Gits interne Blockverwaltung zu belasten.

Immer mehr Wissen. Das digitale Abo für IT und Technik.






Immer mehr Wissen. Das digitale Abo für IT und Technik.