Tracks commits that exist on a source branch but are missing from a target branch, filtered by author and date, so you can spot what still needs to be cherry-picked or merged.
Features
Compares a source branch (e.g. origin/release/3.4) against a target branch (e.g. origin/master), matching commits by subject so results survive cherry-picks and rebases.
Filter by author email and a cutoff date.
One-click cherry-pick straight from the dashboard.
Batch ("auto") cherry-pick: check the commits you want, hit Cherry-pick selected, and they are applied oldest-first without a prompt per commit, stopping at the first conflict.
Sort the list by commit date, newest or oldest first.
Ignore individual commits (e.g. release-only changes). They move to a collapsible Ignored section under the main list — shown as full rows with hash, date and author — where each can be restored individually or all at once.
Status bar badge showing the current count of missing commits.
Periodic auto-refresh (git fetch + recompute) on a configurable interval.
Usage
Open a workspace folder that is a git repository.
Run Commit Dashboard: Open from the Command Palette (or click the status bar item).
Expand Settings in the panel to configure the remote, source/target branches, author email, after-date, and refresh interval.
Cherry-picking
Two ways to apply commits onto your current branch:
Manual — the Cherry-pick button on a row applies that one commit, after a confirmation.
Auto — tick the checkboxes (or the header checkbox to select all) and click Cherry-pick selected. After a single confirmation the selected commits are applied one after another with no further prompts.
Auto mode always applies commits oldest-first, whatever the display sort order is, since that is the order they can apply cleanly in.
It stops at the first conflict and leaves that cherry-pick in progress in your working tree, so you can resolve it in VS Code and then run git cherry-pick --continue (or git cherry-pick --abort). The notification tells you how many were applied, which commit stopped the run, and how many were left untouched. Commits after the conflict are never attempted. If a cherry-pick is already in progress when you start, the dashboard says so rather than firing off a command that would fail.
Settings
Setting
Description
Default
commitDashboard.remote
Remote to fetch before scanning.
origin
commitDashboard.sourceBranch
Branch to list candidate commits from.
(empty)
commitDashboard.targetBranch
Branch to compare against.
origin/master
commitDashboard.authorEmail
Only include commits by this author. Leave empty for all authors.
(empty)
commitDashboard.after
Only include commits after this date.
(empty)
commitDashboard.ignoreTitles
Commit subjects to always exclude.
[]
commitDashboard.sortOrder
Order commits by date: desc (newest first) or asc (oldest first).
desc
commitDashboard.refreshIntervalMinutes
How often to auto-refresh. 0 disables.
30
Commands
commitDashboard.open — Open the dashboard panel.
commitDashboard.refresh — Force an immediate git fetch and refresh.