RuimteDocs

Git and worktrees

The Git panel commits, pulls and pushes every repository in the project folder. You resolve merge conflicts in the app, and worktrees keep agents out of each other's files.

The Git panel

Click the branch icon in the rail, or run Toggle git panel. It covers the project's repository, its submodules and repositories one level down, each with a row and a branch menu of its own.

Commit and push

  1. Stage the files, or let Commit stage all.
  2. Write a message, or click Let Claude Code write the message (or another CLI) for a suggestion based on the staged changes.
  3. Click Commit, or Commit and push.

Commit commits what is staged in every repository with one message. Amend changes the last commit instead.

ActionWhat it does
PullFetches and fast-forwards
PushPushes the current branch
SyncPulls, then pushes
FetchFetches without changing your branch
Merge branch…Merges another branch into this one
Rebase onto…Rebases this branch
Stash changes…, Pop stashPuts changes aside and back

With several repositories, Pull all, Sync all and Fetch all act on all of them. The branch menu switches, creates, renames and deletes branches. Delete branch leaves the remote branch alone.

A pull only fast-forwards. When your branch and the remote both moved, Ruimte asks how to combine them before it changes anything.

Changes are grouped as code, tests, mocks and generated files. Click a file to see its diff.

Resolve a merge conflict

A merge, rebase, cherry-pick or revert that stops on a conflict opens the conflict view. You never edit conflict markers.

  1. Pick a file.
  2. For each conflict, choose Take this side, or both sides in the order you want.
  3. Click Mark resolved.
  4. When every file is resolved, click Finish merge (or Continue rebase). Abort merge undoes the operation.

The wand resolves conflicts that need no choice. Ask AI for this file and Ask AI for all let an agent propose resolutions. A proposal is only shown: nothing is written, staged or committed until you accept it.

Pull requests

These need the GitHub CLI (gh), installed and logged in on the machine.

ActionWhat it does
Create pull request…Opens a pull request for the current branch
Show pull requestShows its state, checks and review threads
Copy to chat…Adds a review thread to a chat's draft, without sending it
Watch for chat…Wakes a chat each time the checks of the latest commit finish or a review comes in

A watch never merges or pushes. It ends when you click Stop watching, when the pull request is merged or closed, or after 7 days.

Start from GitHub issue, in the command palette, takes a link or owner/repo#12. It makes a worktree and starts a chat there with the issue as the first prompt.

Worktrees

A worktree is a second checkout of the repository on its own branch, so two agents never edit the same files.

ToDo
Start a chat in a new worktreeRun New chat in worktree, name the branch and pick what to start from
Give a group a worktreeRight-click the group, choose Bind to worktree and name the branch. Terminals and chats you add to the group start in it.
Merge a worktreeChoose Merge worktree…, pick the target branch and click Merge
Remove a worktreeChoose Remove worktree…

Merge worktree… can commit what is still uncommitted first, and remove the worktree and its branch afterwards. A conflict waits for you to resolve.

Remove worktree… deletes the checkout, and its branch when Ruimte made it. If an agent still works there, Ruimte stops it first. Nothing removes a worktree by itself.

New worktrees go in Ruimte's data folder, or in a folder you choose under Settings, Files and Git, Worktree folder.

To run a task, such as the tests, each time a chat in a worktree finishes, see Launches.