Git · ChangeSet
Blyck bietet Versionsverwaltung in zwei Schichten. Mit Git für Dateien und mit ChangeSet auch für das, was Git nicht sieht (DB · SSH · Pakete) — so kannst du überprüfen und rückgängig machen, was auch immer sich geändert hat.
Öffne das Änderungsverlauf-Fenster mit Ctrl+Shift+H, oder klicke unten im KI-Chat den 📦 ChangeSet-Chip, um dasselbe Fenster zu öffnen.
MinGit-Bundle — keine Git-Installation nötig
Abschnitt betitelt „MinGit-Bundle — keine Git-Installation nötig“Im Windows-Build ist MinGit integriert. Ist Git auf dem System installiert, wird dieses bevorzugt verwendet; andernfalls fällt es automatisch auf das gebündelte MinGit zurück. Auch auf einem PC, auf dem nie Git installiert wurde, funktionieren Commit·Push·ChangeSet vollständig.
ChangeSet — der einzige Verlauf aller Änderungen
Abschnitt betitelt „ChangeSet — der einzige Verlauf aller Änderungen“Änderungen, die im Projekt geschehen, werden unabhängig von ihrer Art an einem Ort protokolliert. Ohne Sperr- oder Checkout-Prozedur werden sie automatisch erfasst, sobald die Änderung geschieht. Nur-Lese-Vorgänge (SELECT · file_read · ls) werden nicht protokolliert.
| Art | Protokollierter Inhalt |
|---|---|
| Datei | Inhalt vor/nach der Änderung, Zeitpunkt, Quelle (👤 Mensch / ✨ KI) |
| DB DDL | SQL-Originaltext, automatisch generiertes Umkehr-SQL, Risiko |
| DB DML | SQL-Originaltext, Anzahl betroffener Zeilen, vorab gesicherte Zeilen zum Rückgängigmachen |
| SSH-Ausführung | Ausgeführter Befehl, Server, Teil der Ausgabe, Risiko |
| Paket | Paketname, Laufzeitumgebung |
Fenster öffnen: Ctrl+Shift+H oder der 📦-Chip unten im KI-Chat. Mit dem Toggle [Alle Änderungen | Diese Aufgabe] wechselst du zwischen dem gesamten Verlauf und dem Aufgabenbereich des aktuellen Chats.
Registerkarten-Aufbau
Abschnitt betitelt „Registerkarten-Aufbau“Das ChangeSet-Fenster besteht aus drei Registerkarten.
Registerkarte Änderungen
Abschnitt betitelt „Registerkarte Änderungen“Zeigt nicht committete Dateien (auf Basis von git status) und DB-·SSH-·Paketänderungen (auf Basis des history) gemeinsam an. Wähle einen Eintrag, um Rückgängigmachen auszuführen.
- Nicht committete Datei →
git checkout(Änderung verwerfen) oder neue Datei löschen - DB-Änderung → automatisch generiertes Umkehr-SQL ausführen
- SSH-Änderung → bei möglicher Umkehrbefehl-Ableitung automatischer Vorschlag
Registerkarte Commit-Verlauf
Abschnitt betitelt „Registerkarte Commit-Verlauf“Zeigt auf Basis von git log die Commit-Liste an. Beim Klick auf einen Eintrag siehst du den git show-Diff des betreffenden Commits, und mit dem Button [Diesen Commit rückgängig machen] führst du git revert aus (Historie bleibt erhalten, kein erzwungenes Überschreiben).
Registerkarte Deployment
Abschnitt betitelt „Registerkarte Deployment“Dateiänderungen werden per git push, DB-Änderungen als SQL-Migrationsskript exportiert.
- Verifizieren (verify) — prüft auf UPDATE/DELETE ohne WHERE, riskante DDL (
DROP· Hinzufügen vonNOT NULL), fehlende Tests zu neuen Funktionen usw. - Exportieren (export) — exportiert als SQL-Migrationsskript, als git-Befehlspaket für einen PR oder als JSON. Genutzt, um in der Entwicklungs-DB Erarbeitetes für die Produktivübernahme aufzubereiten.
Rückgängigmachen
Abschnitt betitelt „Rückgängigmachen“Du kannst jeden beliebigen Eintrag des Verlaufs auswählen und rückgängig machen.
| Art | Rückgängig-Methode |
|---|---|
| Datei | Wiederherstellen auf den Inhalt vor der Änderung |
| DDL | Automatisch generiertes Umkehr-SQL ausführen (CREATE↔DROP, ADD COLUMN↔DROP COLUMN) |
| DML | Wiederherstellen auf die unmittelbar vor der Ausführung gesicherten Zeilen (Schicht-1/Schicht-2-Backup, siehe unten) |
| SSH | Bei möglicher Umkehrbefehl-Ableitung automatischer Vorschlag (mkdir↔rmdir), sonst manueller Hinweis |
Automatisches DML-Backup (Schicht 1 / Schicht 2)
Abschnitt betitelt „Automatisches DML-Backup (Schicht 1 / Schicht 2)“Bevor die KI ein DML ausführt, erstellt sie automatisch ein Backup.
- Schicht 1 — bei einzelner Tabelle · parsbarem WHERE · PK · ≤ 1.000 Zeilen: Die Zeilen vor der Änderung werden als JSON in der
dml_backupder Verlaufs-DB (blyck-history.db) gespeichert. Beim Rückgängigmachen sofortige Wiederherstellung. - Schicht 2 — bei Massen-·komplexen Queries · ohne PK: In der Ziel-DB wird eine Backup-Tabelle (
blyck_bak_…) erstellt und aufbewahrt. Ist das Rückgängigmachen abgeschlossen, wird die Backup-Tabelle automatisch gelöscht.
Sicherungen
Abschnitt betitelt „Sicherungen“- Umkehr-Vorschau vor der Ausführung + Bestätigungsmodal —
DROP/DELETEmit roter Warnung - Machst du einen mittleren Eintrag rückgängig, Warnung „N nachfolgende Änderungen werden überschrieben”
- Weicht der aktuelle Wert vom protokollierten ab (anderswo erneut geändert), erneute Bestätigung, ob erzwungen werden soll
- Auch das Rückgängigmachen selbst wird als neuer Verlauf protokolliert — ein Rückgängigmachen des Rückgängigmachens ist möglich
Verlaufs-Aufbewahrungsrichtlinie
Abschnitt betitelt „Verlaufs-Aufbewahrungsrichtlinie“Der Verlauf wird in %APPDATA%\Blyck\blyck-history.db gespeichert.
| Richtlinie | Kriterium |
|---|---|
| Maximale Aufbewahrung pro Ziel | letzte 40 Einträge |
| Intervall automatischer Bereinigung | Löschung nach 14 Tagen |
| DB-Größenobergrenze | 2 GB |
| Obergrenze pro Einzeldatei | Dateien über 1 MB werden nicht protokolliert |
Git-Operationen
Abschnitt betitelt „Git-Operationen“Führe Git-Operationen über die Registerkarte Commit-Verlauf des ChangeSet-Fensters oder die Befehlspalette (Ctrl+Shift+P) aus.
| Operation | Beschreibung |
|---|---|
| Checkpoint | Erstellt einen automatischen Zwischenspeicherpunkt als Zeitstempel-Commit. Du kannst während eines Experiments jederzeit zurückkehren. |
| Aufgabenweiser Commit | Sammelt die im aktuellen Chat (Aufgabe) entstandenen Datei-·DB-·SSH-Änderungen zu einem Commit. Über den ✨-Button wird eine KI-Commit-Nachricht automatisch generiert. |
| Ausgewählter Commit / Gesamt-Commit | Committe ausgewählte Dateien oder alles auf einmal. |
| diff | Vergleiche nach gewünschtem Kriterium: Working Tree, ein bestimmter Commit, zwischen zwei Commits, ein bestimmter Aufgabenbereich usw. |
| discard | Verwirf Änderungen im Working Tree. |
| log | Frage den Commit-Verlauf ab. |
| push | Pushe den aktuellen Branch ins Remote-Repository. |
GitHub-Integration
Abschnitt betitelt „GitHub-Integration“Der Login erfolgt per GitHub-OAuth-Device-Flow. Gibst du im Browser einmal einen Code ein, ist es abgeschlossen, und der Token wird verschlüsselt im OS-Anmeldeinformationsspeicher (safeStorage) aufbewahrt.
Vorgehen zur Integration
Abschnitt betitelt „Vorgehen zur Integration“- Befehlspalette (
Ctrl+Shift+P) → „GitHub-Login” oder GitHub-Button oben im ChangeSet-Fenster - Öffnet sich der Browser, gib den angezeigten Code zur Authentifizierung ein
- Nach Abschluss wird die Push/Pull-Authentifizierung automatisch abgewickelt
Nach der Integration verfügbare Operationen
Abschnitt betitelt „Nach der Integration verfügbare Operationen“| Operation | Beschreibung |
|---|---|
| Publish | Erstellt das lokale Projekt als neues Repository auf GitHub und pusht es |
| Clone | Klont ein GitHub-Repository in einen lokalen Ordner |
| Link | Verknüpft ein bestehendes lokales Repository mit einem GitHub-Repository |
Nach der Integration wird die Push/Pull-Authentifizierung automatisch abgewickelt. Da der Token verschlüsselt im OS-Anmeldeinformationsspeicher abgelegt wird, musst du dich nicht jedes Mal neu anmelden.
Verwandte Funktionen
Abschnitt betitelt „Verwandte Funktionen“- KI-Chat — auch von der KI vorgenommene Änderungen werden automatisch im ChangeSet protokolliert
- Code-Editor — Protokollierung im Änderungsverlauf beim Speichern, auch Inline-KI-Änderungen werden verfolgt
- DB-Client — automatische Erstellung von Umkehr-SQL·Backup bei DDL/DML-Ausführung
- Terminal · SSH · SFTP — Protokollierung des Ausführungsverlaufs von SSH-Befehlen
F. Ich habe Git nicht installiert — kann ich trotzdem committen? Im Windows-Build ist MinGit gebündelt, sodass Commit·Push ohne separate Installation möglich sind.
F. Eine von der KI geänderte Datei wird im ChangeSet nicht angezeigt. Dateien, die die KI mit dem eingebauten Edit/Write geändert hat, durchlaufen nicht den file_write-Pfad von Blyck und werden daher nicht direkt im history protokolliert. Da Git die Änderung jedoch erkennt, erscheinen sie in der Liste nicht committeter Dateien der Registerkarte Änderungen.
F. Ich habe ein DML falsch ausgeführt — kann ich es rückgängig machen?
Ja. Vor der DML-Ausführung wird automatisch ein Backup (Schicht 1: Verlaufs-DB, Schicht 2: Backup-Tabelle der Ziel-DB) erstellt, sodass du über Ctrl+Shift+H → betreffender Eintrag → Rückgängigmachen wiederherstellen kannst. Auch UPDATE/DELETE ohne WHERE werden wiederhergestellt.
F. Was tun, wenn ich versehentlich rückgängig gemacht habe?
Auch das Rückgängigmachen selbst wird als neuer Verlauf protokolliert. Machst du in Ctrl+Shift+H den betreffenden „Rückgängigmachen”-Eintrag erneut rückgängig, wird der ursprüngliche Zustand wiederhergestellt.
F. Ich möchte im Commit-Verlauf einen bestimmten Commit verwerfen.
Klicke in der Registerkarte Commit-Verlauf den betreffenden Commit → drücke den Button [Diesen Commit rückgängig machen], dann wird git revert ausgeführt. Die Historie bleibt erhalten und ein neuer revert-Commit wird hinzugefügt.
F. Warum lassen sich SSH-Befehle manchmal nicht rückgängig machen?
Nur wenn der Umkehrbefehl automatisch abgeleitet werden kann (mkdir↔rmdir usw.), erfolgt ein automatischer Vorschlag. Befehle mit Seiteneffekten müssen manuell behandelt werden.
F. Der GitHub-Device-Flow-Login ist abgelaufen. Führe in der Befehlspalette „GitHub-Login” erneut aus, um dich neu zu authentifizieren. Danach werden Push/Pull wieder automatisch abgewickelt.
F. Die Verlaufs-DB-Datei ist zu groß geworden.
%APPDATA%\Blyck\blyck-history.db wird mit einer 2-GB-Obergrenze und einer automatischen 14-Tage-Bereinigung verwaltet. Große Dateien (über 1 MB) werden von der Protokollierung ausgeschlossen. Für eine sofortige Bereinigung starte die App neu, dann läuft die Bereinigungsroutine.