workspace structure

Keep submodules and worktrees in view.

FluxGit surfaces submodules, worktrees and parent-child repository context so multi-part workspaces stop hiding dirty state and inconsistent parent commits.

Two agent worktrees race the same task · compare the attempts, then merge the winner through the guarded flow · real interface, synthetic demo data

The problem: multi-part repos hide inconsistent state.

Submodules can drift from their parent commit and worktrees multiply branches across folders. When that state is invisible, you commit a parent that points at the wrong submodule.

Current scope

Submodule and worktree workflows are in beta. Pending state is surfaced per workspace, and destructive submodule and worktree operations route through the same guarded confirmation flow as everything else.

Git worktree vs submodule: which one do you need?

Worktree: another checkout of the same repository

A linked worktree lets you work on a different branch in another folder without changing the checkout you already have open. Use it for parallel tasks or agent attempts within one repository.

Submodule: a separate repository inside a parent

A submodule has its own history. The parent repository records the specific submodule commit it expects, so you can include another project while choosing when to update that reference.

They solve different problems: a worktree gives one repository multiple working folders; a submodule connects two repositories. FluxGit shows linked worktrees and parent-child submodule state in the same workspace view. See the safe worktree workflow for parallel coding agents, plus the Git worktree and Git submodule documentation for the underlying Git behavior.

How FluxGit helps.

submodules

Parent-child context

Clone initializes submodules by default and you can open the child or parent from context. From Fleet Radar, record a drifted submodule pointer in its parent, or return the submodule to the recorded commit, at any depth.

worktrees

Create / open / delete

Worktree actions are gated with help when a desktop backend is required. When parallel attempts at the same task land in linked worktrees, you can compare them side by side and merge the winner through the guarded flow.

attempts

Attempts side by side

Compare parallel agent attempts side by side, file by file. Files that more than one attempt changed come first, and each cell opens that attempt's diff. Nothing is applied from the comparison.

safety

No silent destruction

Destructive submodule and worktree actions ask before acting.

Compare parallel attempts side by side.

Agent Lanes puts every parallel attempt in a column and every file in a row, compared with your checkout. Read each attempt's diff from its cell, then merge the winner through the guarded flow.

FluxGit Agent Lanes comparing three parallel attempts side by side: codex/fix-login, claude/login-retry and cursor/login-guard, seven files in total with the three files changed by more than one attempt highlighted first
Three parallel attempts side by side · files changed by more than one attempt come first · real FluxGit interface, synthetic demo data

Record or return a drifted submodule pointer.

When a submodule's checkout has moved away from the commit its parent records, Fleet Radar offers two actions. One records the new pointer in the parent with a commit that contains only that pointer. The other returns the submodule to the recorded commit and keeps a restore point, and it refuses when that checkout would leave a commit no branch, tag or remote contains. Both work on nested submodules.

Privacy and security posture.

Workspace inspection is local-first. FluxGit reads your local structure without sending it anywhere.

Related features.

Recorded from the application

Submodules in the sidebar with their path, commit and whether they are dirty.