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.
Many software projects use Git, a free tool that records the history of a project’s files. Agents can use Git for you, and Enjoy shows what Git is doing. You don’t have to use Git, but it lets you see exactly what changed and go back when something goes wrong.
Commits are saved snapshots
A commit is a saved snapshot of your project’s files, with a short message that says what changed. Git keeps your commits, so you can see what changed between them and go back to an earlier one.
Changes that aren’t in a commit yet are called uncommitted changes. They’re in your files, but Git hasn’t saved them as a snapshot. You can ask an agent to commit for you. When an agent commits during a reply and reports the commit, the reply shows View changes, so you can see exactly what it changed.
Branches are separate lines of work
A branch is a named line of commits. Most projects have a main branch, often called main. To try something without touching main, you can start a new branch, commit there, and later merge it into main. Merging brings one branch’s commits into another.
Your project folder holds one branch at a time. Switching branches changes the files in the folder to that branch’s version.
Pushing sends commits online
Commits stay on your computer until you push them. Pushing sends the current branch’s commits to an online copy of your project, such as a repository on GitHub. That’s how you back up or share your work.
Where Enjoy shows Git
- The branch button. At the bottom of the message box, next to the agent button, a button with a branch icon shows the branch your project is on. It opens the branch menu, where you can switch branches, start a new one, push, and choose a worktree. In a conversation that works in a worktree, a colored band at the top of the message box takes its place.
- View changes. Agent replies that report commits show this button.
- Notes in conversations. When you switch branches from a conversation’s branch menu, that conversation notes it. Other conversations show The branch changed at the top of their message box.
- Worktrees. A worktree is a separate copy of your project on its own branch. See Try ideas side by side in worktrees.
The branch button only appears when your project folder uses Git. Projects you create in Enjoy don’t start with Git. To set it up, ask your agent, for example: “Set up Git for this project and commit everything.” Git also needs to be installed on your computer. Without it, the button says Git unavailable.
The iPhone app shows commits and the branch notice, but it has no branch menu.
Branches don’t change your conversations
Enjoy keeps conversations, docs, and workflows in its own storage, outside your project folder. Switching branches, using worktrees, or going back to an earlier commit changes your project’s files, but never hides your latest conversations, docs, or workflows. See Choose where a project’s conversations are stored.