Skip to content

Git · ChangeSet

Blyck provides version control in two layers. Git tracks files, and ChangeSet tracks what Git can’t see (DB · SSH · packages), so whatever changes, you can review and revert it.

Open the change history window with Ctrl+Shift+H, or click the 📦 ChangeSet chip at the bottom of AI Chat to open the same window.


Windows builds include MinGit. If Git is installed on the system, that is used preferentially; otherwise it auto-falls back to the bundled MinGit. Even on a PC where Git was never installed, commit, push, and ChangeSet all work.


ChangeSet — a single history of all changes

Section titled “ChangeSet — a single history of all changes”

Changes that happen in the project are recorded in one place regardless of kind. Without any lock or checkout procedure, they’re entered automatically the moment a change occurs. Read-only operations (SELECT · file_read · ls) are not recorded.

KindWhat’s recorded
FileBefore/after content, time, source (👤 human / ✨ AI)
DB DDLSQL text, auto-generated reverse SQL, risk
DB DMLSQL text, affected row count, pre-backed-up rows for revert
SSH executionThe command, server, part of output, risk
PackagePackage name, runtime

Open the window: Ctrl+Shift+H or the 📦 chip at the bottom of AI Chat. The [All changes | This task] toggle switches between the full history and the current chat’s task scope.


The ChangeSet window has three tabs.

Shows uncommitted files (based on git status) together with DB · SSH · package changes (based on history). Select an item to revert it.

  • Uncommitted files → git checkout (discard edits) or delete new files
  • DB changes → run the auto-generated reverse SQL
  • SSH changes → auto-suggested when the reverse command can be inferred

Shows the commit list based on git log. Clicking an item shows that commit’s git show diff, and the [Revert this commit] button runs git revert (preserves history, not a force-overwrite).

Exports file changes via git push and DB changes as SQL migration scripts.

  • Verify — Checks for UPDATE/DELETE without WHERE, dangerous DDL (DROP · adding NOT NULL), missing tests for new functions, and so on.
  • Export — Exports as a SQL migration script, a bundle of git commands for a PR, or JSON. Use it to organize work done on a dev DB for applying to production.

You can select and revert any item in the history.

KindRevert method
FileRestore to the before content
DDLRun the auto-generated reverse SQL (CREATEDROP, ADD COLUMNDROP COLUMN)
DMLRestore from the rows backed up just before execution (Tier 1 / Tier 2 backup, see below)
SSHAuto-suggested when the reverse command can be inferred (mkdirrmdir); manual guidance otherwise

Before the AI runs DML, it automatically creates a backup.

  • Tier 1 — For single-table, parseable WHERE, with PK, ≤1,000 rows: stores the before rows as JSON in the dml_backup of the history DB (blyck-history.db). Revert restores instantly.
  • Tier 2 — For large, complex queries, or no PK: creates and keeps a backup table (blyck_bak_…) inside the target DB. When the revert completes, the backup table is auto-deleted.
  • Reverse-operation preview before running + a confirmation modal — DROP / DELETE get a red warning
  • Reverting a middle item warns “N subsequent changes will be overwritten”
  • If the current value differs from the recorded value (changed again elsewhere), it re-confirms whether to force
  • The revert itself is recorded as new history — a revert of a revert is possible

History is stored in %APPDATA%\Blyck\blyck-history.db.

PolicyThreshold
Max retained per targetMost recent 40 items
Auto-cleanup intervalDelete items older than 14 days
DB size cap2 GB
Single file size capFiles over 1 MB are excluded from recording

Run Git operations from the ChangeSet window’s commit history tab or the command palette (Ctrl+Shift+P).

OperationDescription
CheckpointCreates an automatic mid-work save point as a timestamped commit. You can return to it anytime during experiments.
Task-unit commitGathers the file, DB, and SSH changes from the current chat (task) into a single commit. The ✨ button auto-generates an AI commit message.
Selective commit / commit allPick files to commit, or commit everything at once.
diffCompare by whatever basis you want — working tree, a specific commit, between two commits, a specific task scope, etc.
discardDiscard working-tree changes.
logView the commit history.
pushPush the current branch to the remote repository.

Log in via the GitHub OAuth device flow. Enter a code once in the browser to finish, and the token is stored encrypted in the OS credential store (safeStorage).

  1. Command palette (Ctrl+Shift+P) → “GitHub login”, or the GitHub button at the top of the ChangeSet window
  2. When the browser opens, enter the displayed code to authenticate
  3. Once done, push/pull authentication is handled automatically
OperationDescription
PublishCreate a new GitHub repository from a local project and push to it
CloneClone a GitHub repository into a local folder
LinkLink an existing local repository with a GitHub repository

After integration, push/pull authentication is handled automatically. The token is stored encrypted in the OS credential store, so you don’t need to log in every time.


  • AI Chat — Changes made by the AI are also auto-recorded in ChangeSet
  • Code Editor — Saving a file records change history, and inline AI edits are tracked too
  • DB Client — Reverse SQL · backups are auto-generated when DDL/DML runs
  • Terminal · SSH · SFTP — SSH command execution history is recorded

Q. I don’t have Git installed — can I still commit? Windows builds bundle MinGit, so you can commit and push without a separate install.

Q. A file the AI edited doesn’t show in ChangeSet. A file the AI changed with its built-in Edit/Write doesn’t go through Blyck’s file_write path, so it isn’t immediately recorded in history. But since Git recognizes the change, it appears in the uncommitted-files list of the Changes tab.

Q. I ran a DML by mistake — can I revert it? Yes. An automatic backup (Tier 1: history DB, Tier 2: backup table in the target DB) is created before DML runs, so you can restore via Ctrl+Shift+H → that item → revert. Even UPDATE/DELETE without WHERE is restored.

Q. What if I reverted by mistake? The revert itself is recorded as new history. Revert that “revert” item again in Ctrl+Shift+H to restore the original state.

Q. I want to undo a specific commit in the commit history. In the commit history tab, click that commit → press the [Revert this commit] button to run git revert. History is preserved and a new revert commit is added.

Q. Why can’t some SSH commands be reverted? A reverse command is auto-suggested only when it can be inferred automatically (mkdirrmdir, etc.). Commands with side effects must be handled manually.

Q. My GitHub device flow login expired. Run “GitHub login” again from the command palette to re-authenticate. Push/pull is handled automatically again afterward.

Q. The history DB file has grown too large. %APPDATA%\Blyck\blyck-history.db is managed with a 2 GB cap and a 14-day auto-cleanup policy. Large files (over 1 MB) are excluded from recording. To clean up immediately, restart the app and the cleanup routine runs.