Adds handy Git actions to Visual Studio: bulk-delete branches by keyword, clean up outdated branches, copy a commit's SHA, export changed files from selected commits, and compare branches / files.
A Visual Studio extension (VSIX) that adds a few handy Git actions to the built-in Git menu and the commit history context menu.
Features
Top-level Git menu
Both commands are automatically greyed out when the current solution is not under Git control.
Command
Description
Delete Branches…
Bulk-delete local branches matching a keyword (lists matches with a confirmation step; the current branch is skipped).
Delete Outdated Branches…
List and delete local branches whose upstream/remote branch has been deleted (gone). Local branches that never tracked a remote are left untouched. Pick which ones to delete.
Commit history context menu
Location: Git Repository window → commit history, right-click one or more commits.
Command
Description
Copy Commit ID
Copies the selected commit's full 40-char SHA to the clipboard (with a status-bar confirmation).
Export Changed Files…
Supports Ctrl multi-select. Shows a dialog listing the selected commits (newest → oldest, with date/time), then exports the union of files changed by each selected commit. Optional extension filter and zip packaging.
Compare branches
Compare Branches… lives on the Git menu and the solution node right-click menu; Compare With Branch… lives on the editor and Solution Explorer file context menus.
Command
Description
Compare Branches…
Pick a branch and see the differences between the current branch and that branch in a dockable tool window. The tree shows the full project structure (including unchanged files); only the other branch's changes are color-coded — gray = deleted by the other branch, green = added by the other branch, blue = modified. Your own deletions/additions are ignored. Double-click a file, or use Get, to pull that file's version from the compared branch into the current branch.
Compare With Branch…
Compare the current file (including unsaved editor content) against its version in a chosen branch, opened in the VS diff view.