MicroGit
保存と同時に裏で自動コミットを行う、タイムトラベル・超高頻度履歴管理ツールです。
現段階のスコープ
現時点では次のみをサポートします。
- 個人開発: ローカルで保存のたびにマイクロ履歴を記録し、タイムトラベルする
- メインの push / pull を通じた他デバイス共有: 作業ツリーにネスト
.git は置かず、親リポジトリの refs/microgit/<branch>/* に履歴を載せる。双方が MicroGit を入れている前提で、MicroGit: Publish/Fetch Micro History が companion 同期を行う(通常の専用リモート常時同期ではない)
チーム向けのライブ同期や PR 自動レビュー連携は 将来的な実装予定 です。
ストレージは既存 Git、checkout は Overlay(軽量)のままです。メインの各ブランチごとに専属のマイクロ空間を持ちます。記録はブランチ単位で一本、UI ではメインコミット区間ごとに絞り込めます。
主な機能
- オン / オフ切り替え: ステータスバーまたはコマンドパレットから有効化・無効化できます(ワークスペース単位)。
- ブランチ専属のマイクロ空間: メインブランチを切り替えると、そのブランチ専属の
.microgit_shadow 等へ載せ替えます(他ブランチの履歴は混ざりません)。
- 全自動シャドウコミット: 有効かつ名前付きブランチ上でファイルを保存すると、マイクロ履歴に自動コミットされます。各コミットに当時のメイン
HEAD(Main-Head)が付きます。
- メインコミット区間フィルタ: パネル/グラフで「コミット A → B のあいだ」のマイクロ履歴だけを表示できます。「すべて」でブランチ全体(PR / AI レビュー向け)も見られます。
- 直感的なタイムトラベル: 過去の保存ポイントへ、ボタン一つでワークスペースのファイルを復元できます。
- タイムライングラフ: 専用の Webview ビューアで、分岐したマイクロ履歴を視覚的に確認できます。
- コントロールパネル: Activity Bar の専用ビューから GUI 操作できます。保存やジャンプに合わせてリアルタイム更新されます。
使い方
- コントロールパネル: 左の Activity Bar の MicroGit アイコン(時計)を開くか、コマンドパレットで
MicroGit: Open Control Panel を実行します。オンオフ、ジャンプ、グラフ表示を GUI から操作できます。
- 有効化: パネルまたはステータスバーの
MicroGit: OFF から有効化します。
- 履歴の自動記録: 名前付きブランチ上でファイルを保存(
Ctrl + S / Cmd + S)すると履歴が蓄積され、パネルとグラフがリアルタイム更新されます。
- 区間で確認: 「メインコミット区間」ドロップダウンで、メインのコミット間に積まれたマイクロ履歴だけを絞り込めます。
- 他デバイスと共有: 保存のたびに親の
refs/microgit/<現在ブランチ>/ へ publish されます。送る側で MicroGit: Publish Micro History(origin へ refs/microgit/* も push)、受け側で通常の git pull のあと MicroGit: Fetch Micro History。
- グラフの表示: パネルの「グラフを開く」、または
MicroGit: Show Graph を実行します。開いたまま保存やジャンプ・区間フィルタに追従します。
- ブランチ切替: メインブランチを切り替えると、そのブランチ専属のマイクロ空間へ載せ替わります。
免責事項
本拡張機能は研究・開発段階のプロトタイプです。重要なプロジェクトで利用する際は、事前に通常の Git でコミットを行ってからご使用ください。
| |