Git-Versionierung und Time Machine
Jotter kann eine lokale Git-Historie deines Vaults führen. Jeder Schnappschuss ist ein gewöhnlicher Git-Commit. Darauf baut die integrierte Time Machine auf, und du kannst Änderungen mit jedem Git-Werkzeug einsehen oder zurückrollen.
Jotters Git-Integration ist bewusst rein lokal: Jotter erstellt Commits, führt aber niemals Push oder Pull aus und kommuniziert mit keinem Remote. Das Teilen eines Vaults über mehrere Geräte oder im Team bleibt den dafür gemachten Werkzeugen überlassen (siehe Synchronisation über mehrere Geräte).
Git-Versionierung aktivieren
Die Versionierung ist pro Vault freiwillig. Jotter legt niemals ungefragt ein Git-Repository an.
- Stelle sicher, dass
gitinstalliert und imPATHverfügbar ist. - Klicke unten in der Seitenleiste auf Git aktivieren. Jotter legt im aktiven Vault ein Git-Repository an und erstellt einen ersten Commit. Ist Git nicht installiert, ist die Schaltfläche deaktiviert.
- An ihrer Stelle erscheinen die Schaltfläche Commit und die Time Machine.
Liegt ein Vault bereits in einem anderen Git-Repository, lehnt Jotter die Aktivierung ab, um verschachtelte Repositories zu vermeiden. Nutze in diesem Fall das umgebende Repository direkt oder verschiebe den Vault in einen eigenen Ordner.
Wenn du das Terminal bevorzugst: git init im Vault-Ordner (zu finden unter Einstellungen → Systeminformationen) hat denselben Effekt.
So entstehen Commits
- Automatisch: Solange Jotter geöffnet ist, werden deine Änderungen innerhalb etwa einer Minute automatisch committet. Jotter staged alle Änderungen im Vault und committet sie mit einer Zusammenfassung der Änderungen (z. B.
jotter: 3 tasks created, 4 modified, 1 deleted), gefolgt von den Titeln der geänderten Aufgaben (maximal 20). Gibt es keine Änderungen, entsteht kein Commit. Einen manuellen Commit-Button gibt es nicht. Jotter prüft einmal pro Minute, damit der Verlauf übersichtlich bleibt: Änderungen innerhalb dieser Minute werden in einem Commit gesammelt. Ausstehende Änderungen werden beim Beenden von Jotter oder beim Vault-Wechsel committet. Auch Änderungen außerhalb von Jotter (z. B. in einem Texteditor) werden erfasst. Automatische Commits lassen sich unter Einstellungen → Allgemein → Automatische Git-Commits abschalten. - Identität: Commits verwenden dein Git-
user.nameunduser.email. Nur wenn keine konfiguriert sind, setzt Jotter einen Fallback (Jotter) in der lokalen Konfiguration dieses Repositories und überschreibt niemals eine vorhandene Identität. - Index bleibt lokal: Der SQLite-Index (
tasks.db) ist ein jederzeit neu aufbaubarer Cache und wird nicht mit committet.
Time Machine (Versions-Wiederherstellung)
Jotter verfügt über eine integrierte Time Machine-Funktion, mit der du deinen Arbeitsbereich oder bestimmte Projekte direkt über die Benutzeroberfläche auf jeden beliebigen Zustand in deiner Git-Historie zurücksetzen kannst.
Dies bietet eine risikofreie Umgebung für Experimente, versehentliches Löschen oder das Ansehen früherer Zustände deiner Boards.
So greifst du auf die Time Machine zu
- Suche in der Seitenleiste die Schaltfläche Commit ganz unten.
- Klicke auf das kleine Verlauf-Symbol (History) rechts neben der Commit-Schaltfläche.
- Dadurch öffnet sich das Overlay der Time Machine, das die letzten 10 Schnappschüsse (Commits) deines Repositories anzeigt.
- Jeder Schnappschuss zeigt:
- Die Nachricht des Commits.
- Den Autor, der die Änderung vorgenommen hat.
- Das Datum und die Uhrzeit des Schnappschusses.
- Die abgekürzte Git-Commit-ID (z.B.
8b5f800).
Einen Schnappschuss wiederherstellen (Perfekter Undo-Mechanismus)
Wenn du auf einen Schnappschuss klickst, um ihn wiederherzustellen, führt Jotter im Hintergrund eine robuste Git-Wiederherstellung durch, die immer vorwärtsgerichtet ist:
- Automatisches Backup vor der Wiederherstellung: Jotter prüft zuerst, ob ungespeicherte Änderungen oder Entwürfe in deinem Arbeitsverzeichnis vorliegen. Falls vorhanden, werden diese automatisch gestaged und committet (
backup: snapshot before restoring to <hash>). Dies garantiert vollständigen Schutz vor Datenverlust—du kannst jederzeit wieder zum aktuellen Stand zurückkehren! - Hard-Reset: Es wird ein sauberer Reset durchgeführt, um die Dateien exakt an den Ziel-Commit anzupassen (gelöschte und neue, ungetrackte Dateien werden dabei sauber bereinigt).
- Soft-Reset & Vorwärts-Commit: Jotter setzt den Git-Pointer zurück, ohne die Historie zu überschreiben oder zu verändern. Der wiederhergestellte Stand wird als neuer Revert-Commit erfasst (
revert: restore workspace to commit <hash>). - Kein Überschreiben der Historie: Dieses Verfahren schreibt die Git-Historie linear fort und löscht niemals bestehende Commits.
- Datenbank-Reindexierung: Sobald die Dateien auf der Festplatte wiederhergestellt wurden, reindexiert Jotter im Hintergrund die SQLite-Datenbank. Dein Aufgabenboard, die Spalten und die Filter aktualisieren sich sofort in der App.
TIP
Da vor jeder Wiederherstellung automatisch ein Backup-Schnappschuss angelegt wird, kannst du eine Wiederherstellung jederzeit rückgängig machen, indem du in der Time Machine einfach den entsprechenden Backup-Eintrag auswählst!
Synchronisation über mehrere Geräte
Da ein Vault ein einfacher Ordner mit Markdown-Dateien (und optional ein gewöhnliches Git-Repository) ist, kannst du ihn mit den Werkzeugen synchronisieren, die du ohnehin nutzt:
- Dateisynchronisation: Syncthing, Dropbox, Nextcloud und ähnliche Tools funktionieren ohne weitere Einrichtung. Jotter durchsucht den Vault jede Minute neu und übernimmt eingehende Änderungen automatisch.
- Git-Remote: Richte selbst ein Remote ein und nutze deinen gewohnten Git-Workflow für Push und Pull:bashJotters Schnappschüsse sind normale Commits und werden wie alle anderen gepusht. Authentifizierung und Merge-Konflikte löst du direkt mit Git, außerhalb von Jotter. Nach einem Pull indexiert Jotter die geänderten Dateien automatisch neu.
git remote add origin git@github.com:username/my-jotter-vault.git git push -u origin main
