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 DDL | SQL原文、自動生成された逆SQL、リスク度 |
| DB DML | SQL原文、影響行数、取り消し用の事前バックアップ行 |
| SSH実行 | 実行コマンド、サーバー、出力の一部、リスク度 |
| パッケージ | パッケージ名、ランタイム |
ウィンドウを開く: Ctrl+Shift+H または AIチャット下部の 📦 チップ。[全変更 | この作業] トグルで、全体履歴と現在のチャット作業範囲を切り替えます。
ChangeSet ウィンドウは3つのタブで構成されます。
未コミットのファイル(git status ベース)と DB·SSH·パッケージの変更(history ベース)を一緒に表示します。項目を選択して取り消しを実行できます。
- 未コミットファイル →
git checkout(修正取消)または新規ファイル削除 - DB変更 → 自動生成された逆SQL実行
- SSH変更 → 逆コマンド推定が可能な場合は自動提示
コミット履歴タブ
Section titled “コミット履歴タブ”git log をベースにコミット一覧を表示します。項目クリック時に該当コミットの git show diff を確認し、[このコミットを取り消し] ボタンで git revert を実行します(履歴保存、強制上書きではない)。
デプロイタブ
Section titled “デプロイタブ”ファイル変更は git push で、DB変更は SQL マイグレーションスクリプトでエクスポートします。
- 検証(verify) — WHEREなしの UPDATE/DELETE、危険なDDL(
DROP·NOT NULL追加)、新しい関数に対応するテストの欠落などを点検します。 - エクスポート(export) — SQLマイグレーションスクリプト、PR用のgitコマンド一式、またはJSONでエクスポートします。開発DBで作業した内容を本番反映用に整理するときに使用します。
履歴のどの項目でも選択して取り消せます。
| 種類 | 取り消し方法 |
|---|---|
| ファイル | 変更前の内容に復元 |
| DDL | 自動生成された逆SQL実行(CREATE↔DROP、ADD COLUMN↔DROP COLUMN) |
| DML | 実行直前にバックアップされた行に復元(1層/2層バックアップ、下記参照) |
| SSH | 逆コマンド推定が可能な場合は自動提示(mkdir↔rmdir)、不可なら手動案内 |
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個の変更が上書きされます」と警告
- 現在の値が記録された値と異なる場合(他の場所でまた変わった)、強制するかどうかを再確認
- 取り消し自体も新しい履歴として記録されます — 取り消しの取り消しが可能です
履歴保存ポリシー
Section titled “履歴保存ポリシー”履歴は %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連携
Section titled “GitHub連携”GitHub OAuth device flow でログインします。ブラウザでコードを一度入力すれば完了し、トークンは OS の資格情報ストア(safeStorage)に暗号化保管されます。
- コマンドパレット(
Ctrl+Shift+P)→「GitHubログイン」または ChangeSet ウィンドウ上部の GitHub ボタン - ブラウザが開いたら、表示されたコードを入力して認証します
- 完了すると push/pull の認証が自動的に処理されます
連携後に使用可能な作業
Section titled “連携後に使用可能な作業”| 作業 | 説明 |
|---|---|
| Publish | ローカルプロジェクトを GitHub に新しいリポジトリとして作成してプッシュします |
| Clone | GitHubリポジトリをローカルフォルダに複製します |
| Link | 既存のローカルリポジトリを GitHub リポジトリと連結します |
連携後、push/pull の認証は自動的に処理されます。トークンは OS の資格情報ストアに暗号化されて保存されるため、毎回ログインする必要はありません。
- AIチャット — AIが作った変更も ChangeSet に自動記録されます
- コードエディタ — ファイル保存時に変更履歴を記録、インラインAIの修正も追跡されます
- DBクライアント — DDL/DML実行時に逆SQL·バックアップを自動生成
- ターミナル · SSH · SFTP — SSHコマンド実行履歴を記録
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コマンドはなぜ取り消せない場合があるのですか?
逆コマンドを自動的に推定できる場合(mkdir↔rmdir など)にのみ自動提示されます。副作用のあるコマンドは手動で処理する必要があります。
Q. GitHub device flow のログインが期限切れになりました。 コマンドパレットから「GitHubログイン」を再実行して再認証すれば済みます。以降の push/pull は再び自動処理されます。
Q. 履歴DBファイルが大きくなりすぎました。
%APPDATA%\Blyck\blyck-history.db は 2 GB 上限と14日自動整理ポリシーで管理されます。大容量ファイル(1 MB 超)は記録から除外されます。すぐに整理するには、アプリを再起動すると整理ルーチンが実行されます。