Tübix 2023

Git Annex: Dateien synchronisieren, sichern und verwalten für Poweruser

Git Annex ist das ultimative Werkzeug zum Verwalten, Synchronisieren und Sichern von Dateien - seien es Forschungsdaten, persönliche Dokumente oder eine Mediensammlung. In diesem Workshop wollen wir lernen, was Git Annex uns dabei an Arbeit und Sorgen abnehmen kann.


Wenn Du keine Angst vor der Kommandozeile hast und einer der folgenden Punkte auf Dich zutrifft, dann ist dieser Workshop etwas für Dich:

  • Ich möchte meine Dateien zwischen Maschinen synchronisieren.
  • Ich möchte Kontrolle über die gesamte Änderungshistorie haben (Wann hat wer was geändert, alte Versionen behalten, löschen oder woanders sichern, etc.)
  • Ich möchte große/binäre/sensible Dateien mit Git tracken.
  • Syncthing, Unison, Nextcloud Files, etc. sind toll, mir aber zu unflexibel - ich möchte mehr Kontrolle, welche Dateien wo sind.
  • Backups sind mühsam - Ich habe nie richtig den Überblick, welche Dateien wo gesichert sind. Grade mit offline Datenträgern. Und Verschlüsselung ist auch ein Thema...
  • Ich suche eine Möglichkeit, meine Dateien mit Metadaten zu katalogisieren oder einfach Notizen hinzuzufügen
  • Ich habe öfters das Problem, dass ich keinen Speicherplatz mehr habe und nicht weiß, was ich mal kurz löschen kann.

Zunächst wird in einem kurzen Vortrag vorgestellt, was Git Annex genau kann und tut. Danach werden wir uns zusammen unter anderem folgende Themen praktisch vornehmen:

  • 📥 Installation und Einrichtung
  • 📦 Git Annex als git-Erweiterung: große Dateien in git-Repositories tracken
  • 📁 Einen geteilten Ordner einrichten mit dem Git Annex Assistant Webinterface
  • 💾 Backups auf offline Datenträger
  • 🔐 verschlüsselte Backups in der Cloud
  • 🏷️ Dateien Metadaten zuordnen und in Views verwalten
  • 🔧 Fine-Tuning
  • 🚚 Welche Dateien sollen wo landen?
  • 🧹 Aufräumen und Platz machen
  • 🔎 Änderungshistorie untersuchen („Wer hat die Datei zerschossen!?”)

Der Großteil davon wird in der Kommandozeile passieren. git-Kenntnisse sind von großem Vorteil. Wer mitmachen möchte, braucht also:

  • 📟 (Zugriff auf) eine Maschine mit mindestens Kommandozeile 😉
  • 💽 (optional) USB-Stick/Festplatte für offline Backup
  • 🌐 (optional) Server mit SSH/rsync-Zugang irgendwo als Dateienziel
  • 🌐 (optional) Git Hosting Provider Account (z.B. GitLab, Sourcehut, Bitbucket, Github, etc.) als Metadaten-Relay

(Git Annex Icon von Henrik Nyh, Joey Hess, John Lawrence, https://git-annex.branchable.com/logo/)