Commit graph and search

The History tab lists every commit reachable from your branches, draws the graph beside it, and shows the selected commit in the inspector on the right. Find in History searches messages and hashes and filters by author, path and date.

Where to find it

  • History tab, ⌘2, or View › History. History is the tab a repository opens on.
  • Edit › Find in History… or ⌘F for the find bar.
  • View › Toggle Inspector or ⌘⌥I shows and hides the inspector. It is only available on History.
The History tab: the graph and commit list in the middle, the inspector on the right showing the selected commit's files.

The list

ColumnShows
DescriptionThe graph lanes, the commit summary, and pills for refs that point at the commit: the current head, branches, remote branches and tags.
AuthorThe author's name.
DateWhen it was authored, as a relative time.
CommitThe short hash.

The graph is drawn on a canvas and its width fits the number of lanes on screen, so a linear history takes one narrow lane and a busy merge window widens as needed. Lane colours are the eight lane colours described on Workspace colour; the Greyscale scheme draws them in greys.

When the working tree has changes, the first row is Uncommitted changes with a count ("3 files") on a dashed lane. Clicking it switches to the Changes tab.

Empty states: "No commits yet. Stage your files in Changes and make the first commit." for a new repository, and "No commits match. Loosen a filter, or untick Only matches to see the whole history." when a search hides everything.

Moving and selecting

KeyAction
↑ ↓ or j kMove the selection. These work even when nothing in the window has focus. With Only matches on, they step between matches.
PageUp PageDownMove a screen at a time.
Home EndJump to the newest or oldest commit.
⇧F10 or the context menu keyOpen the commit's menu.

Right-click a commit for its menu: Merge branch into current (for the branch at that commit, or the commit itself), Rebase current onto it, Cherry-pick onto current, Revert, Interactive rebase from here…, Create tag here…, then Push tag and Delete tag for any tag on it, and Copy commit hash. Merge, rebase, cherry-pick and revert are described on Rebase and Conflicts.

Type a branch name, tag or hash into the command palette (⌘K) and pick "Jump to … in History" to select that commit.

The inspector

The inspector shows the selected commit, or "Select a commit to see what it changed." when nothing is selected.

PartShows
Summary and bodyThe commit message.
AuthorName and relative time. A separate Committed line appears when the committer or date differs from the author.
CommitThe short hash and a signature badge: Signed by name (lily) for a good signature; "Signed by name, key not trusted"; "Signed, not checked" when the key is unknown; Bad signature; Signature expired; Signing key expired; Signing key revoked; or Not signed.
Parent or ParentsEach parent's short hash as a button that jumps to it. The first commit reads "none, this is the first commit".
FilesEach changed file with a letter for its kind (A, M, D, R and so on) and its added and removed line counts. A merge commit reads "A merge commit. It has no changes of its own."; an empty commit "This commit changes no files."

Select a file to see its diff below the list. The diff header has Blame ("Who last changed each line, as of this commit") and History buttons, which open the blame and file history sheet for that file at that commit. Diffs are described on Diffs.

Mergepond keeps the last 64 commit details and 128 diffs in memory, so moving back and forth is instant.

Find in History

⌘F opens the find bar above the list. Its field is "Message or commit hash". As you type, non-matching rows dim and the count reads "Searching…", "N matches" or "No matches".

ControlWhat it does
AuthorOnly commits whose author matches.
PathOnly commits that touch this path.
From, ToOnly commits authored in this date range.
Only matchesHides non-matching commits instead of dimming them. Default: off.
Previous match (⇧⏎), Next match (⏎)Step between matches.
Close (esc)Closes the bar and clears the search.

The palette's History group also offers Find commits… (⌘F).

Free and Pro

History, the inspector and search work the same on Free and Pro.