コンテンツにスキップ

Git · ChangeSet

Blyckはバージョン管理を2層で提供します。Gitでファイルを、ChangeSetでGitが見られないもの(DB · SSH · パッケージ)まで追跡し、何が変わっても確認して取り消せます。

Ctrl+Shift+H で変更履歴ウィンドウを開くか、AIチャット下部の 📦 ChangeSet チップをクリックしても同じウィンドウが開きます。


MinGitバンドル — git のインストールが不要です

Section titled “MinGitバンドル — git のインストールが不要です”

Windowsビルドには MinGit が内蔵されています。システムに git がインストールされていればそれを優先使用し、なければバンドルの MinGit に自動フォールバックします。git をインストールしたことのないPCでも、コミット・プッシュ・ChangeSet がすべて動作します。


ChangeSet — すべての変更の単一履歴

Section titled “ChangeSet — すべての変更の単一履歴”

プロジェクトで起こる変更が、種類を問わず一か所に記録されます。ロックやチェックアウトの手順なしに、変更が起こる瞬間に自動的に入ります。読み取り専用の作業(SELECT · file_read · ls)は記録しません。

種類記録内容
ファイル変更前/後の内容、時刻、出所(👤 人 / ✨ AI)
DB DDLSQL原文、自動生成された逆SQL、リスク度
DB DMLSQL原文、影響行数、取り消し用の事前バックアップ行
SSH実行実行コマンド、サーバー、出力の一部、リスク度
パッケージパッケージ名、ランタイム

ウィンドウを開く: Ctrl+Shift+H または AIチャット下部の 📦 チップ。[全変更 | この作業] トグルで、全体履歴と現在のチャット作業範囲を切り替えます。


ChangeSet ウィンドウは3つのタブで構成されます。

未コミットのファイル(git status ベース)と DB·SSH·パッケージの変更(history ベース)を一緒に表示します。項目を選択して取り消しを実行できます。

  • 未コミットファイル → git checkout(修正取消)または新規ファイル削除
  • DB変更 → 自動生成された逆SQL実行
  • SSH変更 → 逆コマンド推定が可能な場合は自動提示

git log をベースにコミット一覧を表示します。項目クリック時に該当コミットの git show diff を確認し、[このコミットを取り消し] ボタンで git revert を実行します(履歴保存、強制上書きではない)。

ファイル変更は git push で、DB変更は SQL マイグレーションスクリプトでエクスポートします。

  • 検証(verify) — WHEREなしの UPDATE/DELETE、危険なDDL(DROP · NOT NULL 追加)、新しい関数に対応するテストの欠落などを点検します。
  • エクスポート(export) — SQLマイグレーションスクリプト、PR用のgitコマンド一式、またはJSONでエクスポートします。開発DBで作業した内容を本番反映用に整理するときに使用します。

履歴のどの項目でも選択して取り消せます。

種類取り消し方法
ファイル変更前の内容に復元
DDL自動生成された逆SQL実行(CREATEDROPADD COLUMNDROP COLUMN
DML実行直前にバックアップされた行に復元(1層/2層バックアップ、下記参照)
SSH逆コマンド推定が可能な場合は自動提示(mkdirrmdir)、不可なら手動案内

DML自動バックアップ(1層 / 2層)

Section titled “DML自動バックアップ(1層 / 2層)”

AIがDMLを実行する前に、自動的にバックアップを生成します。

  • 1層 — 単一テーブル·WHEREパース·PK·≤1,000行の場合: 変更前の行JSONを履歴DB(blyck-history.db)の dml_backup に保存します。取り消し時に即座に復元します。
  • 2層 — 大量·複雑なクエリ·PKなしの場合: 対象DB内にバックアップテーブル(blyck_bak_…)を作成して保管します。取り消しが完了するとバックアップテーブルは自動削除されます。
  • 実行前に逆作業プレビュー + 確認モーダル — DROP / DELETE は赤い警告
  • 中間の項目を取り消すと「以降のN個の変更が上書きされます」と警告
  • 現在の値が記録された値と異なる場合(他の場所でまた変わった)、強制するかどうかを再確認
  • 取り消し自体も新しい履歴として記録されます — 取り消しの取り消しが可能です

履歴は %APPDATA%\Blyck\blyck-history.db に保存されます。

ポリシー基準
対象ごとの最大保管最新40項目
自動整理周期14日経過した項目を削除
DBサイズ上限2 GB
単一ファイルサイズ上限1 MB を超えるファイルは記録対象外

ChangeSet ウィンドウのコミット履歴タブ、またはコマンドパレット(Ctrl+Shift+P)から Git 作業を実行します。

作業説明
チェックポイント作業途中の自動セーブポイントをタイムスタンプ付きコミットとして生成します。実験中いつでも戻れます。
作業単位コミット現在のチャット(作業)で発生したファイル·DB·SSHの変更をまとめて1つのコミットに整理します。✨ ボタンでAIコミットメッセージを自動生成します。
選択コミット / 全体コミットファイルを選んでコミットするか、全体を一度にコミットします。
diffワーキングツリー、特定のコミット、2つのコミット間、特定の作業範囲など、希望の基準で比較します。
discardワーキングツリーの変更を取り消します。
logコミット履歴を照会します。
push現在のブランチをリモートリポジトリにプッシュします。

GitHub OAuth device flow でログインします。ブラウザでコードを一度入力すれば完了し、トークンは OS の資格情報ストア(safeStorage)に暗号化保管されます。

  1. コマンドパレット(Ctrl+Shift+P)→「GitHubログイン」または ChangeSet ウィンドウ上部の GitHub ボタン
  2. ブラウザが開いたら、表示されたコードを入力して認証します
  3. 完了すると push/pull の認証が自動的に処理されます
作業説明
Publishローカルプロジェクトを GitHub に新しいリポジトリとして作成してプッシュします
CloneGitHubリポジトリをローカルフォルダに複製します
Link既存のローカルリポジトリを GitHub リポジトリと連結します

連携後、push/pull の認証は自動的に処理されます。トークンは OS の資格情報ストアに暗号化されて保存されるため、毎回ログインする必要はありません。



Q. git をインストールしていませんがコミットできますか? Windowsビルドには MinGit がバンドルされているため、別途インストールなしでコミット·プッシュが可能です。

Q. AIが修正したファイルが ChangeSet に表示されません。 AIが内蔵の Edit/Write で変更したファイルは、Blyckの file_write 経路を経ないため history にすぐ記録されません。しかし git が変更を認識するため、変更タブの未コミットファイル一覧には表示されます。

Q. DMLを誤って実行しましたが取り消せますか? はい。DML実行前に自動バックアップ(1層: 履歴DB、2層: 対象DBのバックアップテーブル)が生成されるため、Ctrl+Shift+H → 該当項目 → 取り消し で復元できます。WHEREなしの UPDATE/DELETE も復元されます。

Q. 取り消しを誤って行った場合はどうすればいいですか? 取り消し自体も新しい履歴として記録されます。再び Ctrl+Shift+H で該当の「取り消し」項目を取り消せば、元の状態に復旧します。

Q. コミット履歴で特定のコミットを取り消したいです。 コミット履歴タブで該当コミットをクリック → [このコミットを取り消し] ボタンを押すと git revert が実行されます。履歴が保存され、新しい revert コミットが追加されます。

Q. SSHコマンドはなぜ取り消せない場合があるのですか? 逆コマンドを自動的に推定できる場合(mkdirrmdir など)にのみ自動提示されます。副作用のあるコマンドは手動で処理する必要があります。

Q. GitHub device flow のログインが期限切れになりました。 コマンドパレットから「GitHubログイン」を再実行して再認証すれば済みます。以降の push/pull は再び自動処理されます。

Q. 履歴DBファイルが大きくなりすぎました。 %APPDATA%\Blyck\blyck-history.db は 2 GB 上限と14日自動整理ポリシーで管理されます。大容量ファイル(1 MB 超)は記録から除外されます。すぐに整理するには、アプリを再起動すると整理ルーチンが実行されます。