ワークスペースの構造

サブモジュールとワークツリーを見渡せます。

FluxGitはサブモジュール、ワークツリー、親子リポジトリの関係を表示します。複数のリポジトリから成るワークスペースでも、未コミットの変更や親が記録するコミットとの不一致を見逃しにくくなります。

Gitのワークツリーとサブモジュール:どちらが必要ですか?

ワークツリー:同じリポジトリの別のチェックアウト

リンクされたワークツリーを使うと、開いているチェックアウトを変えずに、別のフォルダーで別のブランチを扱えます。1つのリポジトリ内でタスクやエージェントの試行を並行して進める際に使います。

サブモジュール:親リポジトリ内に置く独立したリポジトリ

サブモジュールには独自の履歴があります。親リポジトリは使用するサブモジュールのコミットを記録するため、別のプロジェクトを組み込みながら、その参照を更新する時点を選べます。

それぞれ異なる問題を解決します。ワークツリーは1つのリポジトリに複数の作業フォルダーを用意し、サブモジュールは2つのリポジトリをつなぎます。FluxGitは、リンクされたワークツリーと親子間のサブモジュールの状態を同じワークスペースビューに表示します。コーディングエージェントを並行して使うための安全なワークツリー手順に加え、GitのワークツリーとGitのサブモジュールのドキュメントで、基になるGitの動作を確認できます。

Git worktree とサブモジュールを併用する

ワークツリーとサブモジュールは併用できますが、各チェックアウトを個別に確認してください。Git は複数のワークツリーにまたがるサブモジュールのサポートが不完全であると明記し、スーパープロジェクトの複数チェックアウトを推奨していません。この構成を使う前に制限を確認してください。

参照を変更する前に、この3つのコミットを比較します。一致していても、子の作業フォルダーに未コミットの変更がないとは限りません。FluxGit は親子の状態と参照のずれを表示します。Agent Lanes は変更を適用せずに並行した試行を比較します。

読み取り専用の確認手順を見る

2つのエージェント用ワークツリーで同じタスクに並行して取り組む · 試行を比較し、採用した方を確認付きの手順でマージ · 実際の画面、デモ用の合成データ

課題:複数のリポジトリにまたがる構成では、状態の不一致が見えにくくなります。

サブモジュールは親が記録するコミットからずれることがあり、ワークツリーではブランチが複数のフォルダーに分かれます。その状態が見えなければ、意図しないサブモジュールのコミットを指す親リポジトリをコミットしてしまいます。

現在の対応範囲

サブモジュールとワークツリーのワークフローはベータ版です。保留中の状態をワークスペースごとに表示し、サブモジュールやワークツリーの破壊的な操作も、他の操作と同じ確認付きの手順を通ります。

FluxGitでできること。

サブモジュール

親子リポジトリの関係

クローン時はサブモジュールを標準で初期化し、関連する子または親リポジトリを開けます。Fleet Radarから、親が記録するコミットとずれたサブモジュールの参照先を親に記録するか、サブモジュールを記録済みのコミットに戻せます。どの入れ子階層でも対応します。

ワークツリー

作成 / 開く / 削除

デスクトップのバックエンドが必要なワークツリー操作には、案内と実行条件が設けられています。同じタスクの並行した試行がリンクされたワークツリーにあれば、横に並べて比較し、採用した試行を確認付きの手順でマージできます。

試行

試行を横に並べて比較

並行して進めたエージェントの試行を、ファイルごとに横に並べて比較できます。複数の試行が変更したファイルを先に表示し、各セルからその試行の差分を開けます。比較画面から変更が適用されることはありません。

安全性

破壊的な操作を確認なしに実行しません

サブモジュールやワークツリーの破壊的な操作は、実行前に確認を求めます。

並行した試行を横に並べて比較できます。

Agent Lanesは、並行した各試行を列に、各ファイルを行に配置し、使用中のチェックアウトと比較します。各セルから試行の差分を確認し、採用した試行を確認付きの手順でマージできます。

FluxGitのAgent Lanesで、codex/fix-login、claude/login-retry、cursor/login-guardの3つの並行した試行を横に並べて比較。ファイルは計7つで、複数の試行が変更した3つのファイルを先に強調表示
3つの並行した試行を横に並べて比較 · 複数の試行が変更したファイルを先に表示 · 実際のFluxGitの画面、デモ用の合成データ

ずれたサブモジュールの参照先を記録するか、元に戻せます。

サブモジュールのチェックアウトが、親の記録したコミットからずれた場合、Fleet Radarでは2つの操作を選べます。1つは、参照先だけを含むコミットで新しい参照先を親に記録する操作です。もう1つは、復元ポイントを保持してサブモジュールを記録済みのコミットに戻す操作です。ただし、そのチェックアウトによって、どのブランチ、タグ、リモートにも含まれないコミットが取り残される場合は実行を拒否します。どちらも入れ子のサブモジュールに対応します。

プライバシーとセキュリティの方針。

ワークスペースの調査はローカルを基本とします。FluxGitはローカルの構造を読み取り、外部には送信しません。

関連機能。

アプリケーションで録画した映像

サイドバーにサブモジュールのパス、コミット、未コミットの変更の有無を表示します。