vscode-gitlens

gitkraken活跃维护

在 VS Code 里把 Git 用得更顺手:用 blame 注解和 CodeLens 直接看每行代码是谁写的,配合可视化提交图和对比命令快速摸清仓库历史。

Supercharge Git inside VS Code and unlock untapped knowledge within each repository — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more

v19.5.0发布于 2026-10-27 20:14 UTC9,967star1,830fork同步于 2026-11-10 11:30 UTC

怎么上手

由 README 提炼,执行前请确认
在 VS Code 扩展侧边栏搜索 GitLens 安装
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

在 VS Code 里把 Git 历史、分支、worktree 和 AI 代理活动集中到一个交互视图的扩展

在 VS Code 里把 Git 用得更顺手:用 blame 注解和 CodeLens 直接看每行代码是谁写的,配合可视化提交图和对比命令快速摸清仓库历史。

核心能力

  • 用 Commit Graph 单视图汇总历史、工作区改动、分支与 worktree
  • 每行显示 ahead/behind、未推送未拉取与改动规模等实时状态
  • 在行内直接执行分支、合并、rebase、cherry-pick、stash、push 等操作
  • 用 Visual History 与 Treemap 可视化文件演变和改动热点
  • 跟踪 Claude Code 会话状态并可从对应行恢复会话

容易踩的坑

部分功能(如 Commit Graph 在私有仓库、GitHub Enterprise、GitLab Self-Managed)需要免费 GitKraken 账号或 Pro;Preview 功能需登录账号且未来可能转为 Pro;Experimental 功能默认开启但仍在变化

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v19.5.0
  1. v19.5.0最新正式版2026-10-27 · 2026-10-27 20:14 UTC

    Added

    • Adds a reachability check to Add Remote — the confirm step probes the URL and, when it can't be reached, says why and offers Add Remote Anyway, Change URL, or a retry; the name defaults to origin on a repository with no remotes
    • Adds Publish Repository to branch and worktree rows in the views when their repository has no remotes
    • Adds Remove Remote to the error shown when a push can't reach a remote that has never been fetched from (e.g. one just added with a mistyped URL)
    • Adds a Publish Repository… call to action to the Commit Graph's Pull Requests panel when the repository has no remotes

    Changed

    • Changes Publish Repository in the Commit Graph and views to open the push wizard's chooser (Publish Repository… or Add Remote…) with the clicked action pre-selected, rather than handing straight to VS Code's publish flow — Add Remote… continues into the publish confirm without a fetch step, and a multi-repository push now skips (and names) repositories without remotes instead of failing
    • Changes views and the Commit Graph to keep updating during long-running activity, such as a long rebase or a build writing into the working tree, where they used to wait until it stopped
    • Changes how a branch's merge target is chosen when none is saved or detected — the default branch is found from local branches first (an upstream remote's, then origin's) and the remote is asked only when they name none, the default branch itself is measured against its own upstream, and a branch created from another branch is measured against it until that branch is merged; the guess for a branch created with git checkout -b is no longer saved
    • Improves performance when working across several worktrees of one repository — staging changes, or a merge, rebase or cherry-pick pausing, in one worktree no longer refreshes the views and Commit Graph state of every other worktree, switching branches in one worktree refreshes the others once instead of twice, and locking or unlocking a worktree no longer discards the others' cached Git data
    • Changes Push to Here… to push onto the branch's upstream rather than a remote branch named like the local one — they differ when, e.g., local foo tracks origin/bar
    • Improves staging, unstaging, discarding, and committing when another Git process (VS Code's Git extension, a terminal, an AI agent) briefly holds the index lock — GitLens now waits and retries instead of failing with an index.lock error
    • Improves how views and the Commit Graph follow Git's ignore rules when watching for file changes — changes in folders ignored by a nested .gitignore (such as a package's dist/) no longer trigger refreshes, and info/exclude in linked worktrees, a ~/ path in core.excludesFile, the global ~/.config/git/ignore file, and core.ignorecase are now respected

    Fixed

    • Fixes a push to an unreachable HTTPS remote (e.g. a mistyped host) reporting a generic error rather than that the remote could not be reached
    • Fixes the views and the Commit Graph's context menus choosing between Publish Branch and Publish Repository by whether any repository in the workspace has remotes — each row now follows its own repository, and a remote without a recognized host no longer counts as no remote
    • Fixes Add Remote and Fetch hanging (or closing silently) when the fetch failed, leaving the remote behind — it now warns and offers Remove Remote
    • Fixes pressing Enter on an invalid value in a wizard input (a remote URL, a branch name) navigating away — the field now stays open with the message until the value is valid
    • Fixes Don't Ask Again appearing on push confirmations it cannot skip — the no-remotes chooser, the publish step, and the behind-upstream guard
    • Fixes GitLens terminal links (commits, branches, tags, ranges, and git commands) not working in multi-repository workspaces — links n
  2. v19.4.02026-10-15 · 2026-10-15 21:07 UTC
    查看更新说明

    Added

    • Adds Publish Repository to the Commit Graph for a repository with no remotes — the header, Working Changes panel, overview, and branch details now offer to create a hosted repository (through VS Code's publish flow) instead of a Publish Branch that could only report "No remotes found"; the Git Command Palette's Push offers the same escape when there are no remotes

      • Offers Add Remote… beside Publish Repository… in the push wizard and the Working Changes next steps, for hosts VS Code can't publish to, and hides Fetch while the repository has no remotes
    • Adds configurable branch names for Start Work with gitlens.startWork.branchNameFormat, using ${id} and ${title} tokens, plus a format editor and live preview in GitLens Settings (#5925)

    • Adds connecting a self-hosted Jira Data Center (or Jira Server) instance from the integrations in GitLens Settings (#5864) — it connects through your GitKraken account like the other self-hosted integrations, with each configured host as its own connection. For now, a connected instance is used only to show the issues associated with a branch; Start Work, autolinks, and the Commit Graph's issue tracker picker don't support it yet

      • The Commit Graph's check for whether any issue integration is connected now looks at every configured host of a self-hosted tracker, so disconnecting one host no longer turns off issue enrichment while another is still connected
      • Reads a branch's associated Jira Data Center issues from the instance the association names, never from another configured host that happens to be primary (#5872)
    • Adds a gitlens.views.searchAndCompare.files.openDiffOnClick setting to specify whether to open the changes or the working file when clicking a file in the Search & Compare view (#1651) — thanks to PR #2845 by Steven Vaught (@Svaught598) and PR #3583 by Ehab Younes (@EhabY)

    Changed

    • Changes the Commit Graph to no longer require an account on public and local repos — signed-out users get the full graph with no prompts
      • On privately hosted repos, a preview starts automatically on first open, with a persistent notice above the graph showing the time left, a Sign In action, and a reminder that public and local repos stay free; the sign-in screen now appears only after the preview ends (or for unverified accounts)
      • Start Work and Start Review now ask you to sign in up front instead of implicitly signing you in when connecting an integration
      • Account surfaces get real signed-out states — the GitLens Settings account panel shows a sign-in card and a Sign in to use GitKraken AI line instead of blank cards, and its footer offers Sign in instead of a Manage subscription link that opened gk.dev signed out
      • The merge-target status chip's potential-conflicts check now requires a trial or Pro subscription, like every other conflict check; ahead/behind counts and merged status stay available to everyone
    • Changes the Commit Graph preview for privately hosted repos to one continuous 3-day window — previously three separate one-day sessions, each started manually with Continue Preview
    • Renames the gitlens.views.publishRepository command to gitlens.publishRepository:views; the old id still works but is deprecated

    Fixed

    • Fixes Pro feature gates and account surfaces still offering Reactivate Pro Trial after the server refused the reactivation — once refused, they show the Upgrade to Pro messaging instead ([#5987](https://github.com/gitk
  3. v19.3.02026-10-01 · 2026-10-01 18:24 UTC
    查看更新说明

    Added

    • Adds starting a task or a pull request review in Kepler, right from where you are in GitLens (#5760)
      • Adds Start Task in Kepler to repositories, and Start Review in Kepler to pull requests in GitLens views, Launchpad, and the Commit Graph — each opens Kepler with the repository or pull request ready to go
      • Adds Open in Kepler to Start Work and Start PR Review for items Kepler supports, alongside opening in an agent or continuing manually — or choose kepler for gitlens.ai.openInAgent to go straight there
      • Offers to get the Kepler application when it isn't installed, and stops showing the Try Kepler banner once it is
    • Adds rebasing an entire stacked pull request chain in one action (#5838)
      • Rebase Stack... cascades bottom to top, replaying each layer onto the one below it and the bottom layer onto the stack's trunk — and creates a local branch for any layer you haven't checked out, so no link in the chain is skipped
      • Auto-Rebase Stack... resolves conflicts with AI the whole way up, pausing instead of unwinding when it needs your help — Continue with Auto-Rebase then picks up the rest of the stack, not just the branch you fixed
      • Every message names where you are in the stack (Branch 2 of 4), and the cascade puts you back on the branch you started from
      • Offers Force Push Stack on completion, listing each rewritten branch pre-checked so you can hold any of them back — the offer also lives on the Auto-Rebase Summary and as a Git Force Push Stacked Pull Requests... command, so it survives the notification being dismissed, and retires itself once every branch is published
      • Offered only when the stack has drifted from its trunk — behind it, or conflicting with it — so an already-current stack isn't invited into a rebase that would do nothing
      • Reachable from the Commit Graph's pull request sheet and side bar stack rows, Launchpad, the rebase quick pick, and the Git Rebase Stacked Pull Requests... and Auto-Rebase Stacked Pull Requests... commands
    • Adds start actions to the Commit Graph's no-repository empty state — grouped ways to get going: open a folder, clone a repository, or start a new project (open a remote repository on the web), alongside Start Work on an Issue and Start Review on a PR
      • Adds Start Work and Start PR Review support when no repository is open — both now list your issues and pull requests across your connected integrations, and offer to locate the repository in a local folder before continuing, or to clone it when the integration supplies a repository URL (every pull request, and GitHub issues)
      • Start Work now tells you when a connected integration can't search issues account-wide, instead of letting it contribute nothing to a seemingly empty list — Bitbucket has no account-wide issue search, so it now says so and points you to open a repository
    • Adds task-specific context to the Commit Graph's sign-in and upgrade screens when navigating to it from other areas of GitLens (#5820, #5784)
      • Names the task that was interrupted — opening a commit, branch, tag, or stash, a file or folder's history, a comparison, your working changes, a branch focus, or an automatic rebase summary — and confirms it will open in the Commit Graph once you have access
      • Ctrl-clicking a commit hash in the terminal now names the commit and holds it until you're signed in, instead of landing on an unexplained sign-in screen

    Changed

    • Changes Start Work and Start PR Review to follow the gitlens.ai.openInAgent setting — after you pick an issue or pull request they now ask whether to open it in an agent or continue manu
  4. v19.2.02026-09-16 · 2026-09-16 16:23 UTC
    查看更新说明

    Added

    • Adds localization infrastructure for GitLens using VS Code’s display language, with English fallback when a translation is unavailable
      • Adds experimental Spanish and Chinese (Simplified and Traditional) translations — GitLens follows your VS Code display language, so installing the matching language pack switches GitLens over too; the translations are AI-generated and reviewed, and anything not yet translated stays in English
    • Adds worktree scoping to the Commit Graph — Scope to Worktree (on side bar worktree rows, working-changes (WIP) row and overview bar pill double-clicks, WIP row context menus, and the Focus in Commit Graph commands) now re-points the whole graph at that worktree: its working changes become the primary WIP row, the current-branch markers, ahead/behind and upstream status follow it, and every action runs with it as the working directory. History is never re-walked, so scoping and unscoping are immediate and keep your scroll position, selection, search, and filters; a scoped graph tints its title bar and names the worktree's branch in a pill whose hover explains the scope and whose Unscope Worktree button returns to your active worktree; the first time you scope, a coach mark explains what changed. Scope and focus are now independent — a scoped graph still shows every commit unless the branch is focused too; a scoped graph stays scoped across reloads
      • Adds a gitlens.graph.scopeBehavior setting — whether Scope to Worktree also focuses the worktree's branch, narrowing the visible rows to its history (scopeAndFocus, the default), or scopes without narrowing anything (scope)
      • Adds a gitlens.graph.doubleClickWorktreeAction setting — whether double-clicking another worktree's WIP row, overview bar pill, or side bar row scopes the graph to it (scope, the default) or just focuses its branch (focus)
    • Adds saving your Commit Graph layout as the default for new workspaces (#4292) — arrange columns, sizing, grouping, and panels how you like, then use the new Save as Default Layout action in the column header or settings gear menus; the new Apply Saved Layout action re-applies it anytime, and Reset Layout restores the shipped arrangement (replacing the previous Reset Columns to Default/Compact Layout actions)
    • Adds a Send Feedback dialog (#5812) — reachable from the Commit Graph's title toolbar and its account menu; choose general feedback, a feature request, or a bug report about GitLens and send it straight to the team, bug reports also open a prefilled GitHub issue so you can add logs and details, and feature requests offer to file one
    • Adds customizing the Commit Graph keyboard shortcuts (#5813) — use the new gitlens.graph.shortcuts.overrides setting to rebind or disable its modifier-key shortcuts (Alt+M, Ctrl+↑, …) by id (hover a shortcut in the ? reference to see its id), or gitlens.graph.shortcuts.enabled to turn them all off
    • Adds a Run Default Task button to worktree working-changes (WIP) rows in the Commit Graph — runs your chosen default task in the row's worktree in one click; the first click asks which task to make the default, any task can be marked (or unmarked) as the default from the Run Task on Worktree picker, and Alt+click always opens the picker; while a task is running the button shows a spinner and a Running: <task> tooltip, and clicking reveals that task's terminal instead of starting another
    • Adds a Generate Changelog action to multi-selected commits in the Commit Graph (#4088) — generates an AI changelog from exactly the selected commits, even when the selection isn't contiguous
    • Adds resuming past Codex, Open
  5. v19.1.02026-09-01 · 2026-09-01 18:11 UTC
    查看更新说明

    Added

    • Adds live status for more coding agents — Codex, GitHub Copilot CLI, and OpenCode sessions now appear alongside Claude Code's everywhere agent status is shown, each with its own icon (#5742, #5798)
      • Improves the Commit Graph's working-changes Agents section with one consistent, collapsible view for live and past sessions, inline history paging, and Resume and Archive actions
      • Changes agent status indicators to one consistent phase mark everywhere sessions appear — and each session now shows its own agent's logo instead of a generic robot
      • Adds right-click context menus to agent sessions — on the Agents panel's rows and the details panel's session cards — with permission, plan, open/resume, worktree, terminal, copy, and Archive Session actions
      • Adds an agent session details sheet to the Commit Graph — clicking a live or past session card opens its full details: status and elapsed time, the current permission ask with its resolve actions right there, the running tool, prompt history, and a file-activity tree whose files open with a click. Branch and worktree chips jump the graph to the session's work, and past sessions offer Resume and Archive (Resume explains itself when the session's transcript is gone)
      • Adds installing GitKraken Hooks for these agents from the Agents section in GitLens Settings and the install-all commands; when an agent needs an extra step (Codex requires trusting the hooks via /hooks), GitLens says so and offers to start a session to do it
      • Shows these agents' permission requests as read-only — only Claude Code's can be answered from GitLens today
    • Adds deeper integration with your terminals and terminal-based coding agents — GitLens now connects the Commit Graph to the terminals and agent tabs where the work is actually happening
      • Adds following of the active terminal or Claude Code tab — switching to one selects its repository's or worktree's working-changes row in the Commit Graph, so the graph keeps up with where you and your agents are working, without raising the graph or switching repositories; a one-time tip explains the first move and offers Turn Off (controlled by the new gitlens.graph.followTerminal.* settings)
      • Adds Focus in Commit Graph, Open in Commit Graph, and Open in New Window actions to terminal tabs, terminal editor tabs, and Claude Code conversation tabs — opening the graph at the tab's worktree with its working changes selected
      • Adds a gitlens.openInTerminalLocation setting — controls where GitLens opens the terminals it creates (the Open in Integrated Terminal actions plus agent session terminals), either in the terminal panel (default) or as an editor tab
    • Improves the Commit Graph — richer branch and tag pills, worktree actions to start agents and run tasks, and refinements across navigation and the side bar
      • Adds richer branch and tag pills
        • Adds support for multiple pills on a row (#5729) — a new gitlens.graph.refs.maxInline setting caps how many show before the rest collapse behind the +N counter (default 1, the previous behavior, or "auto" to fit the space)
        • Adds a stacked pill layout — with the new gitlens.graph.refs.layout setting on "stacked", rows with pills grow a second line showing them above the commit, capped by gitlens.graph.refs.maxStacked (default "auto")
        • Adds a bright lane highlight when pinning a branch's pill, and to the Ctrl/Alt-held chain highlight — the branch's lane stays lit and traces down to its fork point while other lanes mute
        • Improves remote branch pills — the branch's remote now follows the name as a subtle qualifier (yielding first when space is tight); `gitlens.gr

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitLens — Supercharge Git in VS Code

    Understand any line of code, keep every branch, worktree, and coding agent in view, and ship cleaner history — without leaving VS Code.

    GitLens is an open-source extension built and maintained by GitKraken, and installed more than 51 million times.

    Your repository moves faster than it used to. Coding agents open branches, worktrees pile up, and pull requests stack while you're still reading a diff. GitLens pulls all of it into one interactive view — history, working changes, branches, worktrees, and live agent activity together — then helps you review it, rebase it, and shape it into commits someone can actually read.

    Start your free 14-day Pro trial — no credit card required.

    GitLens Community is free and open-source, forever — and several Pro features, the Commit Graph among them, are free on public repos.

    Getting Started

    1. Install it — search for GitLens in the Extensions side bar in VS Code.
    2. Sign in — a free GitKraken account opens the Commit Graph on your public repos, and starts your trial if you want it everywhere.
    3. Open the Commit Graph — click the GitLens icon in the activity bar, and there it is: your history, your working changes, and everything in flight. (GitLens: Show Commit Graph works too.)
    4. Connect what you use — your Git host and issue tracker for pull requests, issues, and autolinks, then your coding agents for session tracking and the GitKraken MCP.

    💡 Want new features first? Hit Switch to Pre-Release Version on the GitLens extension page in VS Code.

    Preview features require a free GitKraken account and may become Pro features in the future. Experimental features are on by default but still changing.

    See Everything in One Place — Commit Graph

    Answering "what is actually going on in this repo right now" usually takes a view for branches, another for stashes, a terminal for status, and a browser tab for pull requests. The Commit Graph answers it in one place, and lets you act on the answer. Learn more

    • Live state on every row — ahead/behind, unpushed, unpulled, change size, and lanes you can fold away.
    • Your uncommitted work, in the history — a row per worktree. Stage, commit, stash, or send it to Compose Commits.
    • Act from the row — branch, merge, rebase, cherry-pick, revert, stash, push, pull, open a pull request.
    • Details in place — commits, branches, stashes, pull requests, comparisons. They stack as sheets; Esc backs out.
    • The whole repo in the side bar — Overview, Agents, Pull Requests, Worktrees, Branches, Remotes, Stashes, Tags. Click one to scope the graph.
    • Search that speaks Git — message:, author:, file:, change:, or just describe what you're after.
    • Always know where you are — jump to HEAD, upstream, or merge target. / finds any branch; the keyboard drives all of it.

    Zoom Out and Spot the Patterns — Visualizations

    Who should I ask about this file? Where is all the churn? What has that agent actually been touching? A list of commits can't tell you.

    • Visual History — a timeline of how a file or a repository evolved: when changes landed, how big they were, who made them. Good for finding the moment something turned, or who to ask about it.
    • Files Treemap Experimental — your repository as blocks sized by file and colored by type. Zoom into a folder to see what's actually in there.
    • Commits Treemap Experimental — the same map, colored by how much each area has been changing.
    • Agent Activity Treemap Experimental — the same map, live: where your agents are reading and editing right now, cooling as they move on.

    Open these from the Commit Graph, or Visual History on its own with Show Visual History.

    Work in Parallel — Worktrees and Agents

    You stash to switch branches and lose your place. An agent is off working somewhere and you can't tell whether it's running, stuck, or waiting on you. Both get worse the more places your work lives.

    Worktrees Without Losing Track

    A worktree is a second checkout of the same repository — a branch you can leave open without stashing a thing. GitLens takes over the bookkeeping around it.

    • Create one from a branch, a commit, or a pull request, and open it in this window or a new one.
    • Every worktree gets its own working-changes row in the Commit Graph, so you can see which are dirty without opening them.
    • Move work across them — copy your working changes over, or apply a stash into another worktree.
    • Open a terminal in one, reveal it in your file manager, or delete it when you're done.

    Know What Your Agents Are Doing

    • Agent sessions — Claude Code sessions show up in the Commit Graph with live state: working, idle, or needs input. Resume one straight from the row it's working on.
    • Start Work with Agent — pick an issue and GitLens creates the branch or worktree, then hands it to a coding agent.
    • Agent Kanban Experimental — switch the Graph into a board view that groups agent sessions by what needs your attention first.
    • Terminal links — your agent prints a SHA, branch, tag, or range in the terminal. Click it and land on it in the Commit Graph.
    • GitKraken MCP — give your coding agents structured access to your Git history, pull requests, and issues. Install it into Claude Code, Codex, Gemini CLI, GitHub Copilot CLI, OpenCode, or your IDE's built-in chat.

    Keep Pull Requests Moving

    Pull requests are where work goes to wait. GitLens brings the whole round trip into the editor: Start Work turns an issue into a branch or worktree, Launchpad tracks what comes back, and you review and land it without leaving the graph.

    Launchpad — Triage What's Waiting on You

    Reviews shouldn't mean bouncing between your editor, GitHub, and your inbox. Launchpad puts every pull request you're involved in on one list, ordered by what's actually blocking someone. Check one out, or start its review with a coding agent, without opening a tab. Learn more

    Open, Review, and Merge in Place

    Open pull requests live in the Graph's Pull Requests panel, most recently updated first, marked with the same signals as Launchpad — mergeable, blocked, needs review, follow-up. Select one and its details open in place.

    • Review it here — Compare Changes for the diff, or hand the whole thing to a coding agent with Review with Agent...
    • Work on it — switch to the branch, open it in a worktree, or Focus the graph on just that branch, fetching the remote if you don't have it yet.
    • Land it — merge, squash, or rebase from a split button that confirms in place.
    • Stacked pull requests — GitHub stacks are grouped in the panel with each layer's position badged on its ref pills. Focusing any layer scopes the graph to the whole stack, and merging routes through GitHub's stack-aware merge, telling you how many pull requests will land.

    Less Time Between Done and Merged — AI Review, Compose, and Rebase

    Code that works isn't code that's merged. In between sit the commits nobody can follow, the message you have to write, the review round trip, and the afternoon the rebase ate. These shorten that stretch.

    • Review Changes — a review before you open the pull request, reading your change as a whole instead of file by file. Hand the findings to a coding agent and it makes the fixes.
    • Compose Commits — you've changed thirty things across a dozen files and it's one shapeless pile. Compose sorts it into separate commits that each do one thing. Recompose Commits does the same for a branch you've already committed to.
    • Explain Changes — ask what a commit, a stash, a branch, or your own working changes actually did, in plain English.
    • Generate Commit Message — and stash messages, and pull request titles and descriptions, written from what actually changed rather than from a blank box.
    • Generate Changelog — release notes for a branch, a tag, or any range of commits you've compared.

    Rebase Without the Dread

    Rebasing replays your commits onto a newer starting point. Rearranging them is the easy half. The conflicts are the part you're actually afraid of, and the reason the branch sat there for a week.

    The Interactive Rebase Editor lets you drag commits to reorder them, or mark them to be squashed together, reworded, or dropped. As you rearrange, it works out which commits are going to conflict and warns you before you run anything, then collects every conflicted file into one panel showing both sides.

    Automatic Rebase does the whole thing for you. It runs the rebase, resolves each conflict with AI, and shows you what it decided and how sure it was — stopping to ask when it isn't confident. If you don't like where it ended up, a single undo puts your branch back exactly as it was.

    Integrations

    Whatever you host on and track issues in, GitLens most likely speaks it — and pulls those pull requests and issues in beside your history.

    Autolinking works across GitHub, GitLab, Jira, Gitea, Gerrit, Google Source, Bitbucket, Bitbucket Server, Azure DevOps, and custom servers. The self-managed editions, GitHub Enterprise and GitLab Self-Managed, need Pro. Rich integrations with GitHub, GitLab, and Jira add hover details for autolinks, correlations between pull requests, branches, and commits, and user avatars.

    On an unusual domain? Add a custom remote to map it onto a built-in provider, or teach GitLens a service it doesn't know. You can define your own autolinks too, for references like Jira issues or Zendesk tickets.

    Blame, Hovers, and CodeLens

    Everything GitLens built its reputation on: free, unchanged, and on by default.

    • Inline and status bar blame — unobtrusive, line-by-line authorship at the end of the current line and in the status bar.
    • Rich hovers — hover a blame annotation for commit details, linked issues and pull requests, and quick actions.
    • Git CodeLens — recent change and authorship summaries at the top of each file and code block.
    • File annotations — whole-file blame, recent changes, and a heatmap, rendered right in the editor.
    • Revision navigation — step backward and forward through a file's history, one click at a time.
    • File History and Line History — follow a whole file or a single line across renames and merges.
    • Git Command Palette — a guided, step-by-step way to run Git commands without memorizing them, plus quick access to branch and file history, commit search, stashes, and repository status.

    💡 Not for you? Every annotation is customizable, and Toggle Line Blame and Toggle Git CodeLens switch them off. The Help Center has the full list of settings.

    Browse and Compare Anything — Side Bar Views

    Every part of your repository gets its own view, and they act as well as list. Most share one tabbed GitLens view in Source Control, so they sit a click apart instead of as eight collapsed headers fighting for room.

    • Commits, Branches, Remotes, Stashes, Tags, Worktrees, and Contributors — browse any of them and act on what you find: check out, compare, stash, create a worktree, see who wrote what.
    • Search & Compare — search history, or compare any two branches, tags, or commits, and keep the results pinned as long as you need them.
    • Inspect and Pull Request — full details for whatever you've selected, and the pull request for the branch you're on.
    • Repositories — the same, grouped per repository, for multi-root workspaces.

    💡 Detach View pulls a tab out on its own, Detach All Views splits them all up, and Set as Default View picks which opens first. Reset Views Layout puts everything back.

    Sharing and Collaboration Preview

    Cloud Patches share work-in-progress, a commit, or a stash as a private link, and Cloud Workspaces group repositories together across machines. Both views are hidden by default — open them with Show Cloud Patches View or Show Cloud Workspaces View.

    GitLens Community and GitLens Pro

    Community is free and open-source: blame, hovers, CodeLens, file annotations, revision navigation, the side bar views, the Interactive Rebase Editor, the Git Command Palette, integrations, and the GitKraken MCP.

    On public repos, the Commit Graph, Worktrees, and Visual History are free too — the Commit Graph just needs a free GitKraken account.

    Pro opens those on private repos and adds the rest: agent sessions and Agent Kanban, the Pull Requests panel with in-graph review and merge, Launchpad, and every AI feature on this page.

    Start your free 14-day Pro trial — no credit card, and when it ends your public repos keep everything they had. Or read the full Community vs. Pro comparison.

    Support and Community

    Support documentation can be found on the GitLens Help Center. If you need further assistance or have any questions, there are various support channels and community forums available:

    • Issues and feature requests — reach out on our GitHub Issues page.
    • Discussions — connect with other users and talk to our engineering team on GitHub Discussions.
    • GitKraken Support — for anything else, reach the support team via the official support page. GitLens Pro includes priority email support, plus custom onboarding and training to get your team up and running.

    Having a positive experience with GitLens? Write a review — it genuinely helps.

    Contributing

    GitLens is an open-source project that greatly benefits from the contributions and feedback from its community.

    Your contributions, feedback, and engagement in the GitLens community are invaluable, and play a significant role in shaping the future of GitLens. Thank you for your support!

    Code Contributions

    Want to contribute to GitLens? Follow the CONTRIBUTING docs to get started.

    Documentation Contributions

    Contributions to the documentation are greatly appreciated. If you find any areas that can be improved or have suggestions for new documentation, you can submit them as pull requests to the GitLens Docs repository.

    Contributors

    A big thanks to the people that have contributed to this project 🙏❤️:

    Also special thanks to the people that have provided support, testing, brainstorming, etc:

    And of course the awesome vscode team!

    License

    This repository contains both OSS-licensed and non-OSS-licensed files.

    All files in or under any directory named "plus" fall under LICENSE.plus.

    The remaining files fall under the MIT license.