History and graph
The History view (⌘3) shows repository history as a linear commit list with branch lanes, plus the history operations you use most.
Search and filters
Press ⌘F to focus the search bar at the top of History (inside the code editor and text fields, it is still their own find). Matching is case-insensitive, and enabled fields are combined with "or":
- commit message (subject and body);
- hash (prefix match);
- author (name or email);
- ref (branches, tags).
You can also add a path filter, which is handed to Git's pathspec. Search shows the number of results, and Esc clears it. Filtered results are shown as a flat list without lanes.
Commit context menu
Right-click a commit to:
- check out (detached HEAD), create a branch from it, or create a lightweight or annotated tag;
- cherry-pick, or revert (merge commits use
-m 1automatically); - merge the commit into the current branch;
- reset to it: Soft / Mixed / Hard;
- for each branch and tag on the commit: switch, merge into the current branch, or delete.
Reset, merge, and delete ask for confirmation; hard reset and delete use a prominent red button. Deleting an unmerged branch asks once more and then force-deletes it.
Branches and tags in the Branches view (⌘4) offer view history, switch, merge into current, and delete from their context menus too.
Drag and drop
The graph supports common operations by dragging. It only acts on the currently checked-out branch, and is disabled with a detached HEAD or an operation in progress.
| Drag | Result |
|---|---|
| Any commit onto the HEAD row | Cherry-pick it after confirmation |
| The current branch label onto another commit | Choose "rebase the current branch here" or "merge it in"; both ask for confirmation |
While dragging you get a tooltip and a highlighted target, the list auto-scrolls near its edges, and Esc cancels.
Conflicts and operations in progress
When a cherry-pick, revert, merge, or rebase hits conflicts, a banner at the top of the workbench shows the number of conflicts with Continue and Abort. Continue is unavailable until conflicts are resolved, and Abort asks for confirmation. See Conflict resolution.
Coming soon
Interactive rebase (visually editing pick / reword / squash / fixup / drop) is in development; follow it on the roadmap.