Branches & changes
Try ideas safely, review changes, and save your progress.
- What are commits, branches, and pushing?Git keeps a history of your project's files. Learn what commits, branches, and pushing mean, and where Enjoy shows them.
- Create and switch branchesUse the branch menu at the bottom of the message box to switch your project to another branch, or to start a new branch for a change.
- Save your changes with a commitA commit saves a snapshot of your project that you can review, push, and go back to. Ask your agent to make one, or tell it to commit after every change.
- Review the changes an agent madeWhen an agent commits during a reply, View changes shows every file it changed, line by line, with what was added and removed.
- Push your branchSend your current branch's commits to its online copy, such as a GitHub repository, from the branch menu. Enjoy shows when it's done and explains what went wrong if it fails.
- Switch branches with uncommitted changesIf switching branches would overwrite changes you haven't committed, Enjoy lists those files and lets you commit them before it switches.
- When another conversation switches the branchIf your project's branch changed since a conversation last worked, Enjoy tells you at the top of its message box. Switch back, or carry on with the new branch.
- Try ideas side by side in worktreesA worktree is a separate copy of your project on its own branch. An agent can try an idea there without changing your project until you merge it.
- Move a conversation into a worktreeUse the branch menu to continue a conversation in a worktree that already exists, or to start a new conversation there.
- Merge a worktree into your projectBring a worktree's committed changes into your project's main folder. If both changed the same files, an agent can finish the merge for you.
- Delete a worktreeRemove a worktree you no longer need. Its conversations continue in the main folder, and commits that weren't merged stay on its branch.
- Undo changes an agent madeThere's no button that undoes an agent's work, but you can ask the agent to undo it, switch back to another branch, or delete a worktree. Commits make going back reliable.