Git-Sicherung: Remote¶
Mit einem Remote (GitHub, GitLab, Gitea, Codeberg, eigener Server) kannst du Commits vom lokalen Repository hochladen (Push) und von dort holen (Pull). So synchronisierst du dein Buch zwischen Geräten oder sicherst es extern.
Bibliogon spricht standardmäßig Git über HTTPS mit einem Personal Access Token (PAT). SSH wird in Git-Sicherung > SSH-Schlüssel beschrieben.
Privates Repository erstellen¶
Bevor du in Bibliogon konfigurierst, lege ein leeres Repository bei deinem Host an.
GitHub¶
- Gehe zu github.com/new.
- Repository name: beliebig (z. B.
mein-buch). - Private wählen. Ein öffentliches Repo bedeutet, dass dein unveröffentlichtes Manuskript weltweit lesbar ist.
- Add a README file deaktivieren — das Repository muss leer sein, sonst kollidiert es mit dem ersten Push.
- Create repository klicken.
Die HTTPS-URL siehst du anschließend (z. B. https://github.com/dein-nutzer/mein-buch.git).
GitLab¶
- gitlab.com/projects/new → Create blank project.
- Project name eingeben, Visibility auf Private.
- Initialize repository with a README deaktivieren.
- Create project.
Gitea / selbstgehostet¶
Funktioniert wie GitHub/GitLab. Wichtig: leeres Repo, HTTPS-URL notieren.
Personal Access Token erstellen¶
Ein PAT ist ein Ersatz für dein Passwort. Er gibt Bibliogon nur die Rechte, die für Push/Pull nötig sind.
GitHub¶
- github.com/settings/tokens → Generate new token → Fine-grained token.
- Repository access → Only select repositories → dein Buch-Repo wählen.
- Repository permissions → Contents: Read and write. Keine anderen Rechte.
- Expiration setzen (90 Tage empfohlen).
- Token kopieren und sicher verwahren — er wird nur einmal angezeigt.
GitLab¶
- Preferences → Access Tokens → neuer Token.
- Scopes:
read_repository,write_repository. - Expiration setzen.
- Token kopieren.
Remote in Bibliogon konfigurieren¶
- Git-Sicherung öffnen (Sidebar des Buchs).
- Bei noch nicht konfiguriertem Remote: Remote konfigurieren.
- Remote-URL: die HTTPS-URL vom Host (z. B.
https://github.com/dein-nutzer/mein-buch.git). - Personal Access Token: den eben erstellten PAT.
- Speichern.
Bibliogon verschlüsselt den PAT mit Fernet und speichert ihn lokal in config/git_credentials/<Buch-ID>.enc. Der Token wird nie in Git-Configs, Commits oder API-Antworten sichtbar.
Push und Pull¶
Push lädt deine lokalen Commits zum Remote:
- Git-Sicherung öffnen.
- Push klicken.
- Erfolgsmeldung: Push erfolgreich.
Pull holt Remote-Commits:
- Git-Sicherung öffnen.
- Pull klicken.
- Drei Ergebnisse möglich:
- Pull erfolgreich — neue Remote-Commits sind jetzt lokal.
- Bereits aktuell — Remote hatte nichts Neues.
- Konflikte — lokale und Remote-Historie divergieren. Siehe Konflikte auflösen unten.
Die Synchron-Anzeige (Badge im Dialog, Punkt an der Sidebar) zeigt den letzten bekannten Zustand: synchron, lokal vorne (du hast Commits, die nicht am Remote sind), Remote hat Änderungen (Remote hat Commits, die nicht lokal sind), divergiert.
Konflikte auflösen¶
Wenn Push abgelehnt wird (Remote hat neuere Commits) oder Pull divergiert, öffnet sich das Auflösungs-Panel mit drei Optionen:
- Mergen — 3-Wege-Merge versuchen. Bei unterschiedlichen Dateien auf beiden Seiten: automatisches Merge-Commit. Bei überlappenden Änderungen in derselben Datei: Datei-für-Datei-Auswahl.
- Lokal erzwingen (Force Push) — lokale Historie überschreibt Remote. Bestätigung erforderlich. Remote-Commits gehen verloren.
- Abbrechen — nichts passiert.
Bei Datei-für-Datei-Konflikten pro Datei entweder Lokal oder Remote wählen, dann Auflösung anwenden. Oder Merge abbrechen — der pre-Merge-Zustand wird wiederhergestellt.
Best Practices¶
- Immer privates Repo. Öffentliche Repos zeigen jeden Commit weltweit.
- Nie Geheimnisse committen. Der
.gitignoreblockt Audiobooks und Exporte, aber keine manuell in Kapiteln hinterlegten API-Keys oder Passwörter. - PAT regelmäßig rotieren. 90-Tage-Ablauf ist ein guter Mittelweg zwischen Sicherheit und Bequemlichkeit.
- Vor Force Push dreimal überlegen. Wenn das Remote-Repository von anderen genutzt wird, zerstört Force Push deren Arbeit.
- Pull vor Push. Besonders wenn du auf mehreren Geräten arbeitest.
Fehlerbehebung¶
Authentifizierung fehlgeschlagen: PAT prüfen. Der PAT ist falsch, abgelaufen oder hat keine Schreibrechte auf das Repo. Neuen PAT erstellen, in Bibliogon Remote bearbeiten, neuen Token eintragen.
Push abgelehnt. Remote hat Commits, die du nicht hast. Entweder Mergen (saubere Auflösung) oder Lokal erzwingen (wenn du sicher bist, dass Remote überschrieben werden darf).
Netzwerk-Fehler. Keine Internetverbindung oder Host nicht erreichbar. Bibliogon arbeitet weiter lokal — commit wie gewohnt, push wenn die Verbindung zurück ist.