Git Blame & History without Sign-in
See who changed a line, when and why, right where you are typing. Browse a file's or a line's history, a commit graph of every branch and tag, and compare branches. Colour a file by the age of its lines, and find out who to ask about it.
No account, no sign-in and no network calls. It runs your own git, so private repositories just work.

Why this one
- Nothing to sign in to. Every free feature works the moment it is installed, on any repository, public or private.
- Nothing leaves your machine. The extension only runs local git commands (blame, log, show, diff). It never fetches, pulls or pushes, and it stops partial clones from downloading objects while blaming. Links to GitHub, GitLab or Bitbucket open only when you click them.
- Quiet. One annotation, on the line your cursor is on. No pop-ups, no ads, no extra folders in your repository.
- The commit graph is free, on private repositories too.
Free features
- Inline blame for the current line: author, age • commit message, also for unsaved edits (new lines show Uncommitted changes). Your own commits show as You.
- Hover the annotation for the full message, the diff stat and links: open the commit, see this file's change, file history, line history, copy SHA, open the commit on GitHub/GitLab/Bitbucket, and open the pull or merge request named in the message (
Merge pull request #12, (#34), See merge request !5).
- The status bar shows the same author and age.
- A
.git-blame-ignore-revs file at the repository root is used automatically. Set gitHistory.blame.ignoreWhitespace to ignore whitespace-only changes.
- File history in the Git History side bar. It follows renames, and a click opens that commit's change as a diff. Right-click to open the file at that revision or compare it with your working copy.
- Line history: select lines, right-click → Git History → Show Line History. Only the commits that touched those lines are listed (
git log -L).
- Show commit opens every file of a commit in VS Code's multi-file diff editor.
- Commit graph of all branches, tags and remotes, with branch, tag and HEAD badges. Click a commit to see its message and files, and click a file for its diff.
- Compare branches, tags or commits: how far ahead and behind, the commits only on one side, and every changed file diffed from the merge base, like a pull request. Swap sides with one click.
- Blame heatmap: Git History: Toggle Blame Heatmap colours each line by age, from red (newest) to blue (oldest), with marks in the scroll bar.
- Who to ask: for the current file, the people whose lines are still in it, ranked by share of lines, with their commit count and when they last touched it. Right-click to copy an email address.




Pro (licence key, checked offline)
$15 a year, or $29 lifetime, per developer. Everything above stays free. Pro adds:
- Graph actions: right-click a commit in the graph to check it out, create a branch or tag on it, cherry-pick it onto your branch or revert it.
- Graph search: filter the whole history by author, message text or path. The matching commits stay connected in the graph.
- Ownership analytics: who changed the current folder and the whole repository most over the last 12 months (configurable), the bus factor (how few people made half of the changes), and a CSV export with the top owners of every top-level folder.
In the free version, the Pro rows and menu items carry a lock and say what they do when you use them. There are no timed pop-ups.

Get a key at https://puzaricloud.in/apps/git-history/, then run Git History: Enter Pro License Key.
Getting started
- Open a folder that is a git repository.
git must be installed (or set gitHistory.gitPath).
- Put the cursor on any line: the blame appears at the end of it.
- Click the Git History icon in the activity bar for file history, compare and Who to ask. Open the graph with the branch icon in that view, or run Git History: Open Commit Graph.
Settings
| Setting |
Default |
Meaning |
gitHistory.inlineBlame.enabled |
true |
Blame at the end of the current line |
gitHistory.inlineBlame.maxLength |
70 |
Longest annotation before it is cut |
gitHistory.statusBar.enabled |
true |
Blame in the status bar |
gitHistory.blame.ignoreWhitespace |
false |
git blame -w |
gitHistory.history.pageSize |
100 |
Commits per page in File & Line History |
gitHistory.graph.pageSize |
500 |
Commits per page in the graph |
gitHistory.ownership.months |
12 |
Period for folder/repository ownership (Pro) |
gitHistory.gitPath |
– |
Path to git |
Notes
- Needs a trusted, local workspace: it runs
git in your folder, so it stays off in Restricted Mode and on virtual workspaces (vscode.dev).
- Works in VS Code 1.90+ and compatible editors (VSCodium, Cursor, Windsurf).
- Not affiliated with GitKraken, GitHub, GitLab or Atlassian.
Privacy: PRIVACY.md · Support: support@puzaricloud.in
| |