Git workflows
Review changes, work with branches, and use Git worktrees in Dream.
Open Git in the right toolbar for the Changes, History, and Pull request tabs. The Git actions menu beneath the chat offers the next steps for the current branch.
Before you start#
For commits, your repository needs a Git author identity configured. For pushing, it needs a remote and credentials that can access it. Pull-request creation uses GitHub CLI, which must be installed and authenticated for the destination repository.
You can type commit messages and PR text yourself. To generate them, enable a provider model and choose Settings → General → Models → Text generation model.
Review changes#
- Open Git → Changes to inspect modified, added, and deleted files.
- Expand a file to review its diff.
- Choose Unified diff or Split diff in the header, and enable word wrap in Changes actions if useful.
- Use Changes actions → Refresh if work done outside Dream is not yet reflected.
For very large diffs, Dream may show Diff too large to render. Use Render anyway only when you want to load that larger view, or inspect the file in your editor or terminal.
Use a file's Revert file changes action to discard unwanted working changes. Revert all changes applies more broadly; review its scope before confirming. Reverting code is separate from archiving the chat that produced it. To undo only what a particular reply changed, use that reply's checkpoint.
To ask an agent about specific lines, drag across the line numbers in a diff or click a line's + control, then type a comment. Dream sends it with the file path and selected lines. See Sending feedback to a chat.
Commit your work#
- Open Git → Changes, or choose Commit from the footer's Git actions menu.
- Review the file diffs below the commit composer.
- Check Include unstaged. It is enabled by default and includes unstaged changes in the commit.
- Review Auto generate message, which is on by default. To write your own message, turn it off and enter the text; turning it off clears the generated message.
- Choose Commit, or Commit & push if you are ready to publish the commit to the remote.
To commit only a selected subset, stage those files using Git in a terminal or external editor and turn Include unstaged off. The Changes panel does not provide individual staging controls.
Dream rejects commits when there are staged changes outside the active project folder. Commit those separately before continuing with this action.
Review the included files as well as the message. With Include unstaged enabled, a commit can contain work from several chats sharing this checkout.
Push a branch#
Use Publish branch for a branch without an upstream, or Push for outgoing commits. These footer actions push immediately. Check the branch, remote, and commits in History first; the footer shows ahead and behind counts when an upstream exists.
If pushing fails, inspect the error and confirm your remote access. A successful local commit remains committed even if a following push fails; check the branch state before repeating a combined action.
Create a pull request#
- Work on a feature branch whose name differs from the PR's base branch.
- Choose Create PR in the footer, or Git actions → Create pull request.
- Review the source and base branches and the proposed changes.
- Enter a title and description, or use Auto generate PR details and review the generated text.
- Under Next steps, select the action that matches the branch's state.
- Turn on Draft if the PR is not ready for review, then submit.
| Next step | What happens |
|---|---|
| Create PR | Creates a PR for work already pushed |
| Push & create PR | Pushes commits before creating the PR |
| Commit, push & create PR | Commits working changes, pushes, and creates the PR |
The dialog starts with Draft off. Enable it to create a draft PR. PR creation requires a branch rather than a detached HEAD, and source and base cannot be the same branch.
If a combined action fails, earlier steps may already have completed. Check for the commit, remote branch, or PR before retrying.
Review and merge a pull request#
Open Git → Pull request to view the current branch's PR. Use Summary for its description, checks, and discussion, or Code to inspect diffs and post inline comments. You can edit the title and description when permitted and use Merge to choose a merge method. See Reviewing pull requests for the full workflow.
Switch or create branches#
Open the branch switcher beneath the chat, search local branches, and select one to check it out. Use Create and checkout new branch… to name and create a branch. Refresh the list if a branch created outside Dream is missing.
Changing branches changes the files used by every chat in that project. Review unfinished work before switching. For parallel tasks with independent checkouts, use Git worktrees. When a worktree is finished, use its footer to merge into the base branch, create a pull request, or remove the checkout. See Complete a worktree.
Browse commit history#
Open Git → History, or Git actions → View history, to follow commits and merges in the colored graph. Use Search commits to filter loaded commits by message, author, hash prefix, or ref. Load more includes older commits; clear the search to show the graph again.
Hover over a commit or focus it with the keyboard to use Copy commit hash.