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
- Stage the files, or let Commit stage all.
- Write a message, or click Let Claude Code write the message (or another CLI) for a suggestion based on the staged changes.
- Click Commit, or Commit and push.
Commit commits what is staged in every repository with one message. Amend changes the last commit instead.
| Action | What it does |
|---|---|
| Pull | Fetches and fast-forwards |
| Push | Pushes the current branch |
| Sync | Pulls, then pushes |
| Fetch | Fetches without changing your branch |
| Merge branch… | Merges another branch into this one |
| Rebase onto… | Rebases this branch |
| Stash changes…, Pop stash | Puts 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.
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.
- Pick a file.
- For each conflict, choose Take this side, or both sides in the order you want.
- Click Mark resolved.
- 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.
| Action | What it does |
|---|---|
| Create pull request… | Opens a pull request for the current branch |
| Show pull request | Shows 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.
| To | Do |
|---|---|
| Start a chat in a new worktree | Run New chat in worktree, name the branch and pick what to start from |
| Give a group a worktree | Right-click the group, choose Bind to worktree and name the branch. Terminals and chats you add to the group start in it. |
| Merge a worktree | Choose Merge worktree…, pick the target branch and click Merge |
| Remove a worktree | Choose 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.