Simple Git DiffReview Git changes without switching branches. Simple Git Diff brings your comparison into a dedicated VS Code sidebar. Compare branches, tags, commits, or saved files, then explore the changes in VS Code's built-in diff editor. Why Simple Git Diff?
Get started
Each side offers local branches, tags, commit IDs, and Working Tree (saved). Use saved files on one side at a time. Comparisons use the two selected versions directly, not their shared ancestor. If your repository is missing from the picker, run Make a review your ownFind and navigate changesChanged Files groups files into folders and shows their Git change status. Expand folders or use Next File and Previous File to move through the visible files. Use Next Change and Previous Change to jump between changes within the selected file. Use Filter by Path for a case-insensitive match against part of a path. Use Filter by Change Type to focus on additions, modifications, deletions, or other Git statuses. Combine both filters to narrow the list. Clear Filters restores all files. The Comparison section keeps the repository, Base, Target, and file counts above the file list. Hover clipped values to read them in full. Open Comparison Details from the section's menu for more information. Keep a reference and edit the sourceUse Pin Diff to keep the selected comparison open while you review other files. Review text stays read-only and keeps the version that you opened. Use Open Source to open the corresponding current file for editing, when available. Editing source files does not change the text in an existing review. Deleted or unavailable source files cannot be opened through this action. Refresh or reverse a comparisonComparisons do not update automatically when you edit files or move branch references. Use Refresh to compare the latest versions of your selections. Use Swap Sides to reverse Base and Target and make a fresh comparison. Both actions also capture saved files again when Working Tree (saved) is selected. Previously kept diffs retain their original contents. Resume after a reloadRun Resume saves your repository, comparison choices, and selected path. It does not restore filters, pinned tabs, unsaved edits, or old saved-file snapshots. Reloading the workspace does not start a review automatically. Saved files, not unsaved editsWorking Tree (saved) compares files on disk against a branch, tag, or commit. It includes tracked files and nonignored untracked files. It does not compare staged content separately. Save your edits before you compare. After another save, use Refresh to include the new content. The review stays fixed until you explicitly make a fresh comparison. Saved-file snapshots expire when the extension session ends. After a reload, use Resume Last Comparison... or Compare With... to create a new review. Commands and keyboard shortcutsOpen the Command Palette and search for
No default keyboard shortcuts are assigned. Open Keyboard Shortcuts, search for Requirements and current limits
Reviewing does not check out branches, fetch commits, stage files, or change your source files. Open Source opens an editable file only when you explicitly request it. Choose branches and tags from the picker. Commit input accepts full or unique abbreviated hexadecimal IDs with at least four characters. Remote-tracking branches and expressions such as Text review supports UTF-8 regular files. Binary files, other encodings, symlinks, and submodule entries remain visible with an explanation instead of a text diff. Saved-file comparisons also reject text that requires unsupported Git attribute transformations, including Git LFS content. Saved captures share a 512 MiB raw-content budget per extension session. This budget is not a total memory or disk limit. If capture capacity is exhausted, close retained saved reviews or reduce the saved content, then try again. Desktop behavior was verified on VS Code 1.139.1 on macOS arm64. Other versions, operating systems, and SSH, container, or WSL workspaces are not yet verified. Browser, virtual, and untrusted workspaces are not supported. Build an installable extensionUse Node.js 22 or later and npm. From the project folder, run:
The package command compiles the extension and creates To install it, open Extensions in VS Code. Choose Install from VSIX... from the view's menu and select the file. Reload VS Code if prompted. Building does not publish the extension. To publish, upload the tested VSIX under the DevelopmentUse Node.js 22 or later and npm. Development tests require Git with SHA-1 and SHA-256 repository support.
To try the extension from source, open this project in VS Code. Select Engineering reports and verification evidence are kept under LicenseMIT License. Copyright (c) 2026 Galih Fajar Fitra Ady. The full terms are in |