Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Git Note History

rexxallrexxall95 downloads

Browse a note's Git history, compare any two versions and restore one paragraph or the whole note with undo. Reads Git only and never commits for you.

Add to Obsidian
Git Note History screenshot
Git Note History screenshot
Git Note History screenshot
  • Overview
  • Scorecard
  • Updates17

中文

Git Note History: find the sentence you deleted, see which commit removed it, and take back only that part.

Install from Obsidian

Typing “one afternoon empty” into the history sidebar of a note. The content trail shows when the sentence first appeared and which commit deleted it, then that commit opens next to the current note with the removed lines in red. Search the past: find what you deleted, and when. Compare any two: side by side, or heading by heading. Take back one part: preview first, undo any time.

Start in three steps

  1. Install Git Note History from Settings → Community plugins → Browse and enable it.
  2. Open a note and click the clock icon in the ribbon.
  3. Pick a version and choose Compare with current.

No Git yet? Run See an example (no repository needed) from the command palette.

Needs Obsidian 1.13+ on desktop, Git installed, and a vault inside a Git repository. Costs nothing: no account, no network, no telemetry. It only reads Git and never commits for you.

Everything else

Every feature The restore preview lists every structure change and the links that would be removed before anything is written.
  • Timeline of the current note in the right sidebar, grouped by day, with +/- counts and milestones you name yourself (sent, submitted, confirmed). Pick a version, then Compare with current or Restore this version from the bar at the bottom.
  • Compare any two versions: side by side, unified diff, rendered Markdown changes, two previews, or a structure view that understands properties, headings, lists, tasks, tables, callouts, code and wiki links. A narrow pane switches to the unified diff by itself.
  • Restore just a part. Bring back a paragraph, a change block, or several blocks collected from different versions, after a preview that shows the merged result and any links that would break.
  • Safe writes. Right before writing, the note is compared with what you saw; if it changed in between, the restore stops. Every restore can be undone (12 steps), and undo also stops if you have edited since.
  • Conflict resolver for Git merge conflicts in a note, three panes, writes only the working file.
  • Paragraph history for the paragraph under the cursor, including versions where it was later deleted.
  • Search old content: find a sentence that used to exist, see when it appeared and when it was removed. A long search shows its progress and can be stopped.
  • Status bar: how long ago the active note was last committed, with a dot when it has uncommitted edits.
  • Version links: Copy version link in a version's menu; clicking the link later opens that version against the current note.

Lab tools (review inbox, work events, knowledge tracing, provenance lens, annotations, history health, knowledge-graph playback, historical sandboxes, history sources) sit behind Show lab tools in settings and are off by default. The full feature list, in Chinese, is in docs/FEATURES_zh.md.

Safety, privacy and what the plugin touches
What the plugin does What it never does
Runs git log, git show, git diff, git status and similar read-only commands Commit, push, pull, fetch, checkout, reset, revert, stage, initialise a repository, or move HEAD
Writes to the working file only when you confirm a restore, after re-checking the file Write anything to the repository on its own
Stores milestones, snapshots, undo history and settings in this vault's plugin data Send anything over the network

Network: none. Every Git call runs with GIT_NO_LAZY_FETCH=1 and GIT_OPTIONAL_LOCKS=0, so reading history never fetches from a remote or rewrites the index.

Files outside the vault: the repository may start in a folder above your vault; the plugin reads it with git. The lab tool historical sandboxes writes copies of an old vault state to a per-user application data folder (~/Library/Application Support/Git Note History on macOS, %LOCALAPPDATA%\Git Note History on Windows, ~/.local/share/git-note-history on Linux), only when you create a sandbox. Nothing else outside the vault is read or written.

What the plugin touches

The community directory's scorecard lists two warnings and two other items for this plugin. None of them touches the network.

Scorecard item Why it is needed Where it is used
Shell Execution (child_process) Git history lives in the repository, not in the vault, so the plugin starts the git program you set in the settings. It calls git directly with a list of arguments, never through a shell, so nothing in a note or file name can run as a command. Reading history (git log, show, diff, status, blame), and the lab tool historical sandboxes, which also runs git worktree to check out an old state.
Direct Filesystem Access (fs) The vault API cannot see folders above the vault, where the repository may start. Resolving the repository folder and checking that a moved repository still exists; and, only when you create a historical sandbox, writing and later removing its copy in the application data folder named above.
Vault Enumeration (getMarkdownFiles) Restoring an old version can remove a heading or block that other notes link to. To warn you, the plugin looks through the link index Obsidian already keeps for every note. The restore preview's link check, and the backlink counts in the Link impact view. Only links are read from Obsidian's cache, not note contents.
Clipboard Access Copy buttons. The plugin only writes to the clipboard and never reads it. Only when you click a copy button: a version link, a commit hash, a block or a whole version's text, a restore result, a file path, or a review pack.
No Git yet? Start one

Git Note History reads history that already exists. To start one:

  1. Install Git from git-scm.com.
  2. Either install the Obsidian Git community plugin and follow its setup, or open a terminal in your vault folder and run git init, then git add -A and git commit -m "First snapshot".
  3. Commit again whenever you want a version you can come back to. Obsidian Git can do this on a timer.

The plugin itself never runs any of these commands for you.

Language and themes

The whole interface, lab tools included, follows Obsidian's language: Chinese, or English for every other language.

Colours, radii and spacing come from your theme's variables, and styles only apply inside the plugin's own views. Checked in light and dark mode with Default, Minimal, Blue Topaz and AnuPpuccin, including a narrow sidebar, the side-by-side diff (line numbers, horizontal space, long paths) and dropdowns. Reduce transparency and Reduce motion are respected.

Limits
  • Desktop only (it runs git).
  • History reads are bounded (100 commits per note by default, configurable).
  • Shallow or partial clones, LFS pointers and missing objects are reported as such; the plugin does not try to repair them.
  • Renames are followed with git log --follow.
Development and verifying a release
npm ci
npm run check          # type-check, build, official lint, tests
npm run package:release

TypeScript + esbuild, tested with Vitest and linted with the official eslint-plugin-obsidianmd rules. See CONTRIBUTING.md for checks and reporting issues, RELEASING.md for the release checklist and CHANGELOG.md for versions.

From 0.12.1 on, the release files carry a GitHub build attestation; check one with gh attestation verify main.js -R Rexxall/obsidian-git-history-view.

MIT License

HealthExcellent
ReviewSatisfactory
About
Browse a note's Git history and view a timeline of past versions in the sidebar. Compare any two versions as side-by-side diffs, rendered previews or a structure-aware view for headings, lists, tasks, tables and code. Restore a paragraph, a single change or the whole note with a preview and undo; read Git history only — no commits made.
GitReviewSidebar
Details
Current version
0.12.2
Last updated
Last week
Created
4 months ago
Updates
17 releases
Downloads
95
Compatible with
Obsidian 1.13.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
rexxallrexxall
GitHubrexxall
  1. Community
  2. Plugins
  3. Git
  4. Git Note History

Related plugins

Track Changes

Review CriticMarkup suggestions in a side panel. Accept, reject, or reply.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Tag Wrangler

Rename, merge, toggle, and search tags from the tag pane.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

Git

Integrate Git version control with automatic backup and other advanced features.

Flexplorer

Enhance the file explorer with custom sorting, pinning, and hiding.

Checklist

Consolidate checklists across all files into a single view.

Recent Files

Display a list of recently opened files.

YTranscript

Easily fetch transcription for any YouTube video.

TagFolder

Show tags as folder.