Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Git LineageNew to Visual Studio Code? Get it now.
Git Lineage

Git Lineage

Preview

Roman Kiefer

|
1 install
| (0) | Free
Interactive Git graph of your history: branches, merges, worktrees, commit details and diffs, with Git actions such as checkout, merge, interactive rebase, cherry-pick, tags and stashes.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git Lineage

See your Git history as an interactive graph: branches, merges, tags, stashes and worktrees, with commit details, diffs and the everyday Git actions one right-click away. Runs as a VS Code extension and as a Claude Code plugin (in the built-in browser pane), with the same interface in both.

Git Lineage showing feature branches, merges and tags

Independently developed, licensed under GPL-3.0-only. No telemetry. The only network access is what you trigger yourself (with your own Git credentials): pushing or deleting a tag or branch on a remote, and a short check whether a tag or branch exists on the remote when you open a tag's menu or delete a branch.

Install

VS Code: install Git Lineage from the Visual Studio Marketplace, then run Open Git Lineage from the Command Palette or click Git Lineage in the status bar.

Claude Code:

/plugin marketplace add roman-kiefer/git-lineage
/plugin install git-lineage@git-lineage

Then ask Claude to show the git graph, or run /git-lineage:git-graph. Claude starts a small local server for the current repository and opens it in the browser pane. Requires Node.js 18 or later. Details: Git Lineage in Claude Code.

Features

  • Graph of the history with its own lane layout: branches and merges as curves, lanes move left into freed columns, colors stay stable while you scroll and load more. Commits load page by page as you scroll. When there are more lanes than fit, the graph column scrolls sideways.
  • Ref chips for local and remote branches (paired when they point to the same commit), tags, HEAD and stashes. Local branches show how far they are from their upstream: ↑2 ↓1 (commits to push / to pull, as of the last fetch), or gone when the upstream was deleted.
  • Uncommitted Changes row above HEAD with the changed files of the working tree.
  • Commit details: message, author, date and changed files with Diff and Open (VS Code); copy hash and message.
  • Hover over a commit dot: which branches and tags contain the commit, and whether HEAD does.
  • Worktrees: switch between them in the toolbar; branches checked out in a linked worktree are marked on their chip and in the graph; other worktrees with changes get their own "Uncommitted Changes in <name>" row. Add, switch to, open (VS Code), copy the path of and remove worktrees from the context menu.
  • Context menu (right-click or the menu key); everything except a plain branch checkout asks first in a short form:
    • create a tag (optionally push it) or a branch, add a worktree
    • check out a branch, remote branch, tag or commit (a local branch that lags behind its remote branch can be fast-forwarded on the way); cherry-pick; revert
    • merge into the current branch, rebase the current branch, reset (soft / mixed / hard)
    • on branch chips: delete the branch (an extra confirmation when it is not merged; optionally its upstream too) or the remote branch
    • on tag chips: an info block (annotated or lightweight, tagger, message, whether the tag is on origin, checked live), push and delete
    • on stash chips: apply, pop, drop
    • copy hash or subject, show the commit in a terminal (VS Code)
  • Interactive rebase in its own view: reorder commits by dragging or with Alt+↑/↓, choose pick, reword, edit, squash, fixup or drop per commit; no text editor involved.
  • Stopped operations (merge, cherry-pick, revert, rebase with conflicts or edit): a banner names the conflicted files (click to open) and offers Continue, Skip and Abort.
  • Search in the loaded commits, branch filter, remote branches on/off, repository picker for multi-root workspaces.
  • Automatic refresh after commits, checkouts, fetches, staging and saving files.
  • Narrow windows hide the Author, Date and Commit columns before the description gets squeezed.

Keyboard

Key Action
g, Ctrl+G, Tab Focus the commit list (g outside input fields; in the Claude Code browser pane Ctrl+G is the page search)
↑ / ↓, Home / End, PgUp / PgDn Select a commit in the list; open details follow the selection
Ctrl+↑ / Ctrl+↓ Previous / next commit, also outside the list (e.g. in the search box)
Enter, Ctrl+→ Open the details
Esc, Ctrl+← Close the details (the selection stays)
Menu key, Shift+F10 Context menu of the selected commit; inside it ↑ / ↓, Enter, Esc
/, Ctrl+F Search (/ outside input fields); Enter / Shift+Enter jump between matches, Esc clears the search and continues in the list at the match

A mouse click selects a commit and opens its details.

Settings

Setting Default Meaning
gitLineage.pageSize 120 Commits loaded per page
gitLineage.showRemoteBranches true Show remote branches when the view opens
gitLineage.autoRefresh true Refresh when HEAD, refs or the index change, or when a file in the repository is saved
gitLineage.confirmDetachedCheckout true Ask before checking out a commit or tag (detached HEAD)
gitLineage.gitTimeoutSeconds 30 Timeout for a single git command
gitLineage.dateFormat short Date column: short ("6 Nov 2026 13:41", your time zone), iso (the author's time), local (your system's regional format) or relative ("3 days ago")

In Claude Code the same defaults apply; see Git Lineage in Claude Code for changing them.

Feedback

Questions, problems and ideas: GitHub issues.

Build from source

npm ci
npm run check      # type checks and tests
npm run package    # git-lineage-<version>.vsix
npm run plugin     # rebuilds the Claude Code plugin's server in claude-plugin/server

License

GPL-3.0-only

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft