DOCS / GIT
History
The History tab is a filterable commit list with an optional graph, ref chips for branches and tags, and signature glyphs for signed commits. It is also where the safe history rewrites live: undo the last commit, reword a message, cherry-pick — including a keyboard-only cherry-pick with copy and paste.
Browse commits
Section titled “Browse commits”The filter box (Filter commits by message, SHA, author…) narrows the list by matching the commit subject, its SHA (short or full), or the author name. The tab loads the most recent 100 commits.
Each row shows the short SHA, a signature glyph when the commit is signed, the commit’s ref chips, the subject, author, and date.
The graph view
Section titled “The graph view”The Graph toggle switches from the linear list to a commit graph with the same rows rendered beside it — selection stays in lockstep between the graph and the text column. Graph mode adds a Load more button that extends the graph by another 100 commits at a time.
The two modes deliberately offer different context menus:
| Action | Linear list | Graph |
|---|---|---|
| Undo last commit… | ✓ | — |
| Reword message… | ✓ | — |
| Cherry-pick to… | ✓ | ✓ |
Signature glyphs are also shown in the linear list only.
Ref chips
Section titled “Ref chips”Branch, tag, and HEAD decorations render as chips on their commit’s row. A commit
with up to four refs shows them all; five or more collapse to three chips plus a
+N overflow chip whose tooltip lists the hidden refs (the overflow always hides
at least two, so a row is never collapsed just to trade one chip for a “+1”).
Signature glyphs
Section titled “Signature glyphs”In the linear list, signed commits carry a glyph derived from git’s signature check; hover it for the exact status:
| Glyph | Meaning |
|---|---|
| ✓ | Good signature (including “unknown validity” and expired-key variants) |
| ⚠ | Problem — bad signature, revoked key, or the signature could not be checked |
Unsigned commits show nothing. To sign your own commits, see Git identity & signing.
A commit’s files
Section titled “A commit’s files”Selecting a commit opens its changed files in a panel below the list. Clicking a file shows its diff in the diff viewer; right-clicking offers Show file history…, which jumps to that file’s own history window — one of the power tools, alongside blame.
Rewrite recent history
Section titled “Rewrite recent history”Both rewrites live in the linear list’s context menu and guard against touching published history.
Undo last commit
Section titled “Undo last commit”Undo last commit… is available only on the newest commit. It runs
git reset --soft HEAD~1: the commit disappears and its changes return to the
Changes tab, still staged, ready to re-commit. The confirmation dialog warns you
when the commit is already on the remote — undoing it then leaves your branch
diverged, and pushing will require a force push with lease.
Reword a message
Section titled “Reword a message”Reword message… rewrites a commit’s message. Birch refuses outright if the commit is already on the remote (“Can’t reword a commit that’s already on the remote.”) — rewording published history would force every collaborator to reconcile. For deeper rewrites (squash, reorder, drop), see Interactive rebase.
Cherry-pick
Section titled “Cherry-pick”Cherry-pick to… (available in both list and graph mode) opens a target picker listing the repository’s open worktrees. Pick one and Cherry-pick here, or use Open a new worktree… to create a target on the spot. If the pick conflicts, the conflict resolver opens automatically.
Copy & paste cherry-pick
Section titled “Copy & paste cherry-pick”With focus in the history list:
⌘C / Ctrl+Ccopies the selected commit’s full SHA to the clipboard.⌘V / Ctrl+Vcherry-picks the clipboard SHA onto the current worktree’s HEAD.
The paste is guarded — it only fires when the clipboard holds something shaped like a SHA (7–40 hex characters), so pasting arbitrary text does nothing. Copy in one worktree’s history, switch, paste in another: a two-keystroke port of a commit between branches. See Keyboard shortcuts.