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 list
| Column | Shows |
|---|---|
| Description | The graph lanes, the commit summary, and pills for refs that point at the commit: the current head, branches, remote branches and tags. |
| Author | The author's name. |
| Date | When it was authored, as a relative time. |
| Commit | The 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
| Key | Action |
|---|---|
| ↑ ↓ or j k | Move the selection. These work even when nothing in the window has focus. With Only matches on, they step between matches. |
| PageUp PageDown | Move a screen at a time. |
| Home End | Jump to the newest or oldest commit. |
| ⇧F10 or the context menu key | Open 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.
| Part | Shows |
|---|---|
| Summary and body | The commit message. |
| Author | Name and relative time. A separate Committed line appears when the committer or date differs from the author. |
| Commit | The 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 Parents | Each parent's short hash as a button that jumps to it. The first commit reads "none, this is the first commit". |
| Files | Each 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".
| Control | What it does |
|---|---|
| Author | Only commits whose author matches. |
| Path | Only commits that touch this path. |
| From, To | Only commits authored in this date range. |
| Only matches | Hides 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.