Shape your changes

Editing a change

Double-click a change to edit it. Your working directory switches to that change, and any edits you make become part of it.

Rebase

Drag a change onto another change to rebase it. The dragged change becomes a child of the drop target.

To update your work with the latest main, right-click and select Rebase on main.

Split

Split breaks a change into smaller pieces.

By file: Click the split icon next to a file to move it to a new change.

By lines: Open the split view, select lines, and move them to a new change.

Squash

Squash merges a change into its parent. Right-click and select Squash.

Use this to combine a small fix with the change it belongs to.

Abandon

Abandon removes a change and all its children from the tree.

Use this for work you don't want to keep—experiments, dead ends, or branches you're discarding.

Revert

Revert creates a new change that undoes a previous one. Unlike abandon, the original change stays in history.

Use this when a change has already shipped to main and you need to undo it.

Duplicate

Duplicate creates a copy of a change. Use this to try a different approach while keeping the original.