Git view

On this page

Press Alt+G (or the lime commit-graph icon in a pane header) to overlay a git panel on the pane, scoped to the repository the shell is currently in — a commit graph, a diff preview, and the working-tree changes with staging and commit. It floats over the terminal and never resizes it; press Esc (or ✕) to return.

…or give it a pane of its own

The overlay is for a look. When you want the git view to stay — beside an agent, in a split, while it works — pick Git on the welcome screen and give it a repo: the pane is the git view, permanently. Everything below applies unchanged (worktree switching included); the only differences are that there’s no Esc/✕ (the pane’s own ✕ closes it) and it’s sized by the pane rather than by the terminal it would otherwise float over. A restored git pane opens on the primary worktree, read-only — an unlock never survives a restart. See core concepts.

Layout

Drag the divider between the graph and diff (or above the changes strip) to resize those sub-panes — handy for wide diffs or busy branch graphs. Each divider remembers its position across sessions, and neither side can collapse below a usable minimum. These dividers only redistribute space inside the panel; its outer size never changes, so the terminal’s PTY is never resized.

Toolbar

Top-right of the graph:

Button Does
↓ Pull the current branch — fast-forward only, so it never creates a surprise merge; a diverged branch reports the conflict instead.
↑ Push the current branch. If it has no upstream yet, you’re offered to publish it to the remote and set tracking.
↻ Fetch from all remotes (with prune) and refresh the view.

Branches, commits, and tags

  • Click the branch name in the header to switch branches — the menu lists every local branch plus remote-tracking branches. Checking out a remote branch creates a local branch tracking it (or switches to the existing local branch of that name).
  • Right-click a commit for its actions: checkout (detached), create a branch or tag here, cherry-pick / revert / merge / rebase onto the current branch, or copy the commit hash or subject.
  • Right-click a branch/tag chip to check it out directly (double-click works too).

Worktrees

If the repository has git worktrees (orrerix creates one per agent session during orchestration), a worktree chip appears in the header next to the repo name. Click it to switch the whole view — graph, commits, working-tree changes, diffs, and branch — to any listed worktree, or back to the primary checkout, without leaving the pane or opening a new session. This is the quick way to see what an agent’s worktree has been up to: its history, its unstaged files, its commits.

  • Opening the view from inside a worktree (the normal case for an orchestration agent pane, whose shell already sits in its own worktree) shows that worktree by default — the view follows the pane. Use the chip to look at any other worktree, or pin the primary.
  • The chip names the worktree you’re viewing; it turns the accent color when you’re off the primary tree, so it’s obvious the view is scoped elsewhere. Its tooltip shows the full path and branch.
  • The primary checkout is labelled (primary) in the menu. A bare repository entry, or one whose directory is gone — whether git flagged it or orrerix saw it vanish — is listed but disabled (missing).
  • The selection sticks across refreshes. If the worktree is pruned or removed while you’re viewing it — even by a plain rm -rf that git hasn’t noticed — the view fails soft to the default (the pane’s own worktree if it sits in a live one, otherwise the primary) and tells you; that dead entry is then disabled in the menu. Switching the pane into a different repository resets the selection.
  • External changes inside a selected worktree refresh on the next shell prompt in the pane or when you press ↻ — the once-a-second auto-watch tracks the pane’s own repo.

Read-only by default, with an explicit unlock

A worktree you didn’t check out yourself is very likely a live agent’s — and staging, committing, discarding, or checking out under a running agent can break its work (a discard destroys uncommitted changes; a checkout flips its branch mid-task). So a non-primary worktree opens read-only: you can browse its history, status, diffs, and branch, but every write affordance (stage/unstage, commit, discard, checkout, push/pull, cherry-pick/revert/merge/rebase, branch/tag create) is hidden or disabled, with a 🔒 read-only badge in the header.

Click the badge to unlock writes for that worktree (it turns 🔓 writable). The unlock is scoped to that one selection and is dropped the moment you switch worktrees — re-selecting it is read-only again, so you never leave writes armed on a tree you’ve moved away from. The primary checkout keeps full write access.

Safety

History-changing operations (cherry-pick, revert, merge, rebase) ask for confirmation first. If any of them hit a conflict, orrerix aborts the operation and leaves your working tree exactly as it was, reporting the conflict — it never leaves you in a half-finished, conflicted state to untangle. Resolve those in a terminal.

Reacts to outside changes

The view (and the pane’s header branch chip) also react to changes made outside the pane’s shell — a git checkout, commit, or stage run from VS Code or another terminal shows up within a couple of seconds, without you having to press Enter in the pane. A lightweight backend watch samples the repo’s .git metadata (HEAD, index, refs) once a second while a pane has the view open, and feeds the same throttled refresh a shell prompt would; it stops when the pane closes.


Orrerix is MIT-licensed. This site documents what ships on main; the source of truth is the code.

This site uses Just the Docs, a documentation theme for Jekyll.