Let it snow — Happy Holidays!
What's New 📣 Features FAQ About

GitLens, part of GitKraken’s legendary Git tools, is an open-source extension for Visual Studio Code.

GitLens supercharges Git inside VS Code and unlocks untapped knowledge within each repository. It helps you to 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.

GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase.

Today, with over 18 million installs and over 120 million downloads, GitLens is loved and relied upon by millions of users, ranging from single developers to large enterprise teams.

marketplace downloads rating slack

What's new in GitLens 12

  • 12.1.1
    JUNE  2022
  • NEW
    Adds getting started tutorial video to the Welcome, Get Started walkthrough, GitLens Home view, and README
  • NEW
    Fixes #2037 — Autolinks can end up getting saved with invalid (cached) properties
  • 12.1.0
    JUNE  2022
  • NEW
    Adds rich integration with GitLab and GitLab self-managed instances — closes #1236
  • +
    Adds associated pull request to line annotations and hovers
  • +
    Adds associated pull request to status bar blame
  • +
    Adds GitLab avatars
  • +
    Adds associated pull requests to branches and commits in GitLens views
  • +
    Adds rich autolinks for GitLab issues and merge requests, including titles, status, and authors
  • +
    Adds rich support to Autolinked Issues and Pull Requests within comparisons to list autolinked GitLab issues and merge requests in commit messages
  • +
    Additional thanks to Kevin Paxton (kpaxton) for help and contributions on this feature
  • NEW
    Adds editor line highlighting and code fading (dimming) to the File Heatmap annotations to make it easier to tell recent vs old lines of code
  • +
    Adds a line option to gitlens.heatmap.locations setting to specify whether to add a line highlight to the File Heatmap annotations
  • +
    Adds a gitlens.heatmap.fadeLines setting to specify whether to fade out older lines when showing the File Heatmap annotations
  • NEW
    Adds editor line highlighting to the File Changes annotations for easier discovery of the added or changed lines
  • +
    Adds a line option to gitlens.changes.locations setting to specify whether to add a line highlight to the File Changes annotations
  • NEW
    Adds "vanilla" Gerrit remote provider support — closes #1953 thanks to PR #1954 by Felipe Santos (@felipecrs)
  • NEW
    Adds "Oldest first" toggle to Interactive Rebase — closes #1190
  • +
    Adds a gitlens.rebaseEditor.ordering setting to specify how Git commits are displayed in the Interactive Rebase Editor
  • NEW
    Adds new and improved Autolink support
  • +
    Adds an Autolinks section in the GitLens Settings Editor to visually add and update autolink entries — closes #1315
  • +
    Adds improved support to Autolinked Issues and Pull Requests within comparisons to list autolinked issues in commit messages
  • +
    You can now see all autolinks found in the commits in the comparison regardless of whether its a provider-based autolink or a custom (user-provided) autolink
  • NEW
    Adds Open Current Branch on Remote to the Command Palette — closes #1718
  • NEW
    Improves how stashes are shown in the Stashes view by separating the associated branch from the stash message — closes #1523
  • NEW
    Changes previous Gerrit remote support to Google Source remote support — thanks to PR #1954 by Felipe Santos (@felipecrs)
  • NEW
    Renames "Gutter Blame" annotations to "File Blame"
  • NEW
    Renames "Gutter Changes" annotations to "File Changes"
  • NEW
    Renames "Gutter Heatmap" annotations to "File Heatmap"
  • NEW
    Fixes #2033 — Diffing, applying, and restoring untracked files in a stash doesn't work
  • NEW
    Fixes #2028 — Branch names with special characters '<' also causes errors on the command line — thanks to PR #2030 by mcy-kylin (@mcy-kylin)
  • NEW
    Fixes #2028 — Branch names with special characters like ';\$|>' causes errors on the command line (terminal executed git commands)
  • NEW
    Fixes #2021 — GitLab remote provider uses legacy routes — thanks to PR #2022 by Brian Williams (@Brcrwilliams)
  • NEW
    Fixes #1998 — Settings: time format reads 'Example date' instead of 'Example time' — thanks to PR #1999 by Barney Carroll (@barneycarroll)
  • NEW
    Fixes #2012 — 'Gitlens: Open Changes with Revision...' results in error
  • NEW
    Fixes #2014 — '#' encoded incorrectly
  • NEW
    Fixes #1787 — Remove '-review' from Gerrit Remote reviewDomain() — thanks to PR #1954 by Felipe Santos (@felipecrs)
  • NEW
    Fixes #1902 — Support replacing mirror/replica domain with main domain for remote provider — thanks to PR #1954 by Felipe Santos (@felipecrs)
  • 12.0.7
    JUNE  2022
  • NEW
    Fixes #1979 — GitLens stopped working in v12.0.0 and later
  • NEW
    Fixes #1882 — Blame annotations not showing anymore after update
  • NEW
    Fixes #1776 — Cant follow symlinks
  • NEW
    Fixes #2000 — File Changes annotations fail to display in certain cases
  • NEW
    Fixes #1936 — Broken repositories view
  • NEW
    Fixes an issue where commit messages in views incorrectly had ellipsis at the end
  • NEW
    Fixes an issue where clicking on tokens on the Settings editor popup wouldn't add the token into the input
  • 12.0.6
    JUNE  2022
  • NEW
    Fixes #1928 — Unable to get absolute uri between ex.txt and z:; Base path 'z:' must be an absolute path — thanks to PR #1929 by Ross Smith II (@rasa)
  • NEW
    Fixes #1932 — Pull request autolink doesn't work for Bitbucket Server 7 — thanks to PR #1933 by Sam Martin (@smartinio)
  • NEW
    Fixes #1938 — Git CodeLens causes line jumping on new virtual files
  • NEW
    Fixes #1925 — Branches from remotes outside the repo aren't showing associated pull requests (for connected remotes)
  • NEW
    Fixes #1920 — Can't view tags on torvalds/linux
  • NEW
    Fixes #1923 — View titles fail to update properly when number of "opened" repos changes
  • NEW
    Fixes smooth scrolling and TOC jumping issues on the GitLens Interactive Settings
  • 12.0.5
    JUNE  2022
  • IMPROVED
    Changes the current line blame hover to show at the cursor, rather than the start of the line, when showing the hover over the whole line (e.g. line & annotation)
  • IMPROVED
    Changes Gutter Changes file annotations to be theme-aware
  • IMPROVED
    Changes to honor the new(ish) git.repositoryScanMaxDepth setting if the gitlens.advanced.repositorySearchDepth setting isn't specified
  • FIXED
    Fixes #1909 — Should still "detect" repos directly in the workspace folder(s) even if git.autoRepositoryDetection is false
  • FIXED
    Fixes #1829 — Reduce re-rendering by disabling animation in blame info in the status bar
  • FIXED
    Fixes #1864 — Worktrees fail to load in working path with spaces
  • FIXED
    Fixes #1881 — Worktrees icon is very small
  • FIXED
    Fixes #1898 — Hovers display old Gravatar — thanks to PR #1899 by Leo Dan Peña (@amouxaden)
  • FIXED
    Fixes an issue where the Gutter Changes file annotations could be rendered on the wrong lines in certain cases
  • 12.0.4
    JUNE  2022
  • NEW
    Adds ability to paste in an authorization URL to complete a GitLens+ sign in
  • FIXED
    Fixes #1888 — Gitlens breaks vscode auto repository detection settings
  • FIXED
    Fixes an issue where the Visual File History wasn't correctly opening the commit file details quick pick menu
  • FIXED
    Fixes an issue where the Open Visual File History of Active File command wasn't showing in the Command Palette
  • 12.0.3
    JUNE  2022
  • FIXED
    Fixes #1897 — Repeated GitHub errors when offline
  • 12.0.2
    JUNE  2022
  • NEW
    Adds proxy support to network requests
  • +
    By default, uses a proxy configuration based on VS Code settings or OS configuration
  • +
    Adds a gitlens.proxy setting to specify a GitLens specific proxy configuration
  • IMPROVED
    Changes local repositories to be considered public rather than private for GitLens+ features (so only a free account would be required)
  • IMPROVED
    Changes relative dates >= 1 year but < 2 years to be shown in months for better granularity - related to #1546
  • FIXED
    Fixes #1895 — Honor defaultDateShortFormat setting on Visual File History
  • FIXED
    Fixes #1890 — can no longer see untracked files in stashes
  • 12.0.1
    JUNE  2022
  • NEW
    Adds gitlens.defaultDateFormat setting to specify the locale, a BCP 47 language tag, to use for date formatting
  • IMPROVED
    Removes dependency on GitKraken Authentication extension
  • IMPROVED
    Changes date formatting to follow the VS Code language locale by default
  • IMPROVED
    Changes framing of premium features into GitLens+
  • IMPROVED
    Changes repository naming to better reflect its folder name, related to #1854
  • FIXED
    Fixes #1859 — GitLens dates use system locale instead of vscode language setting
  • FIXED
    Fixes #1854 — All repos have the same name
  • FIXED
    Fixes #1866 — Copy SHA and Copy Message don't work from the views (commits, branches, etc)
  • FIXED
    Fixes #1865 — Value shortOffset out of range for Intl.DateTimeFormat options property timeZoneName
  • FIXED
    Fixes #1742 — New file lines keep jumping down
  • FIXED
    Fixes #1846 — Restoring (checkout) a deleted file from a commit doesn't work
  • FIXED
    Fixes #1844 — Autolinked issues aren't properly paged when there are too many commits
  • FIXED
    Fixes #1843 — Compare references doesn't work if you have multiple repos open
  • 12.0.0
    FEBRUARY  2022
  • NEW
    Adds (preview) VS Code for Web support!
  • +
    Get the power and insights of GitLens for any GitHub repository directly in your browser on vscode.dev or github.dev
  • NEW
    Introducing GitLens+ — learn about GitLens+ features
  • +
    GitLens+ adds all-new, completely optional, features that enhance your current GitLens experience when you sign in with a free account. A free GitLens+ account gives you access to these new GitLens+ features on local and public repos, while a paid account allows you to use them on private repos. All other GitLens features will continue to be free without an account, so you won't lose access to any of the GitLens features you know and love, EVER.
  • +
    Visual File History — a visual way to analyze and explore changes to a file
    Visual File History
    • The Visual File History allows you to quickly see the evolution of a file, including when changes were made, how large they were, and who made them
  • +
    Worktrees — allow multiple branches to be checked-out at once
    Worktrees view
    • Worktrees allow you to easily work on different branches of a repository simultaneously. You can create multiple working trees, each of which can be opened in individual windows or all together in a single workspace
  • NEW
    Adds a new GitLens Home view — see welcome content, help resource, and subscription information
  • NEW
    Adds a Get Started with GitLens walkthrough to introduce new (and existing) users to many of the powerful features of GitLens — try it via GitLens: Get Started from the Command Palette
  • NEW
    Adds a new Autolinked Issues and Pull Requests node to comparisons to list autolinked issues in commit messages and associated pull requests
  • +
    Now you can quickly see all the issues fixed in a release and more
  • +
    Currently only supported for connected GitHub remote providers
  • NEW
    Adds the ability to choose a stash when opening or comparing file revisions, via the Open Changes with Revision... & Open File at Revision... commands
  • NEW
    Adds improved hover information, including status and color-coding, shown on pull requests in the GitLens views
  • NEW
    Adds a gitlens.codeLens.dateFormat setting to specify how to format absolute dates in the Git CodeLens
  • NEW
    Adds an easier method to choose a specific commit to the Git Command Palette's merge & rebase commands
  • NEW
    Adds a new commit format token: ${link}
  • IMPROVED
    Completely refactors the internals of GitLens into a new flexible Git provider model to allow GitLens to work on the web and in virtual environments like vscode.dev and github.dev
  • IMPROVED
    Improves the user experience of the commit details and file details quick pick menus
  • ~
    Commands are now grouped and easier to understand and access — thanks to Tyler Leonhardt (@tylerLeonhardt) on the VS Code team for the quick pick API additions
  • IMPROVED
    Improves performance and reduces latency across many workflows
  • IMPROVED
    Improves startup performance on previously opened workspaces by remembering details from the last time the workspace was opened
  • IMPROVED
    Improves performance of the all GitLens webviews, most noticeable on the GitLens settings editor
  • IMPROVED
    Improves GitLens view refreshing when folders are added or removed from a workspace
  • IMPROVED
    Changes the icon of the Open Changes action on the hovers to be clearer
  • IMPROVED
    Changes footnotes in hovers to be above the command bar rather than below
  • IMPROVED
    Reworks many internal Git parsers to reduce memory usage and improve performance
  • FIXED
    Fixes #1818 — Ambiguous error message on GitHub authentication errors
  • FIXED
    Fixes #1645 — Possible catastrophic backtracking with large inputs
  • FIXED
    Fixes #1506 — Annoying Github login request
  • FIXED
    Fixes #1735 — "gitlens.hovers.detailsMarkdownFormat" edit error
  • FIXED
    Fixes #1745 — autolinks.url encodes hash char
  • FIXED
    Fixes #1572 — Forced regular expression search in changes
  • FIXED
    Fixes #1473 — Support VSCodium in interactive rebase editor
  • FIXED
    Fixes #1699 — Exception has occurred: RangeError [ERROUTOF_RANGE]
  • FIXED
    Fixes #1601 — Add a better time sample in "Dates & Times" setting
  • FIXED
    Fixes performance issue with the rich hover on the status bar blame
  • FIXED
    Fixes cross repository branch switching via the Git Command Palette
  • FIXED
    Fixes an issue with TOC entries in the VS Code settings editor
  • FIXED
    Fixes issues using quotes when searching for commits in certain scenarios
  • FIXED
    Fixes issues when revealing items in GitLens views the item wouldn't get selected properly
  • FIXED
    Fixes issues with retries on Git Command Palette command steps
  • FIXED
    Fixes code splitting issue where GitHub support wasn't split out of the main bundle for better loading performance
  • FIXED
    Fixes issue with quotes and commit search
  • FIXED
    Fixes a leaked disposable on cancellable promises
  • 11.7.0
    NOVEMBER  2021
  • NEW
    Adds a new rich commit details hover to the blame information in the status bar
  • +
    Adds a gitlens.statusBar.tooltipFormat setting to specify the format (in markdown) of hover shown over the blame information in the status bar
  • NEW
    Adds a new rich hover to the GitLens mode in the status bar
  • NEW
    Adds functional groupings to all GitLens settings when using the VS Code settings UI. Groups will be displayed in the table of contents in the settings UI — thanks to Raymond Zhao (@rzhao271) on the VS Code team for allowing extensions to add groups to VS Code settings UI
  • NEW
    Adds new action buttons on many quick pick menu options, including in the Git Command Palette — thanks to Tyler Leonhardt (@tylerLeonhardt) on the VS Code team for the API support
  • NEW
    Adds Gerrit remote provider support — closes #720 thanks to PR #1535 by Andrew Savage (@andrewsavage1)
  • NEW
    Adds new Open File command (with Open Revision as an alt-click) to files in comparisons — closes #1710
  • NEW
    Adds a new Cherry Pick without Committing confirmation option to the Git Command Palette's cherry-pick command — closes #1693
  • NEW
    Adds a new Merge without Fast-Forwarding or Committing confirmation option to the Git Command Palette's merge command — closes #1178 thanks to PR #1621 by Dmitry Ulupov (@dimaulupov)
  • NEW
    Adds commit message autolinking of merged pull requests for Azure Repos — closes #1486 thanks to PR #1487 by Mark Molinaro (@markjm)
  • NEW
    Adds a new AzureDevOps type to gitlens.remotes to better support Azure DevOps remote matching — thanks to PR #1487 by Dmitry Gurovich (@yrtimiD)
  • IMPROVED
    Changes the No Fast-forward Merge confirmation option in the Git Command Palette's merge command to Merge without Fast-Forwarding
  • FIXED
    Fixes #1669 — Workitem Link (Hover ) for Repository (DevOps) with Blank is broken
  • FIXED
    Fixes #1695 — gitlens.remotes: ${repo} has '%2520' instead of '%20' for a space
  • FIXED
    Fixes #1531 — Typo in gitlens.defaultGravatarsStyle options — thanks to PR #1532 by Alwin Wang (@alwinw)
  • FIXED
    Fixes #1511 — Avatars are blurry on retina displays — thanks to PR #1595 by Adaex Yang (@adaex)
  • FIXED
    Fixes #1609 — X.globalState.setKeysForSync is not a function — thanks to PR #1610 by Stanislav Lvovsky (@slavik-lvovsky)
  • FIXED
    Fixes #1131 — Order matters for search filters in 'search commits' — with help from PR #1575 by Lior Kletter (@Git-Lior)
  • FIXED
    Fixes #1583 — Should hide the context menu on unrelated tabs — thanks to PR #1589 by Takashi Tamura (@tamuratak)
  • FIXED
    Fixes #1587 — Hover on blame can duplicate — thanks to PR #1588 by Takashi Tamura (@tamuratak)
  • 11.6.1
    OCTOBER  2021
  • IMPROVED
    GitLens joins forces with GitKraken! — Learn more
  • 11.6.0
    JULY  2021
  • NEW
    Adds new Open Previous Changes with Working File command to commit files in views — closes #1529
  • NEW
    Adopts new vscode createStatusBarItem API to allow for independent toggling — closes #1543
  • IMPROVED
    Dynamically generates hashes and nonces for webview <script> and <style> tags for better security
  • FIXED
    Fixes #1432 — Unhandled Timeout Promise
  • FIXED
    Fixes #1562 — Yarn audit fails with 2 high sev vulnerabilities (dev dependencies only) — thanks to PR #1563 by Ivan Volzhev (@ivolzhevbt)
  • FIXED
    Fixes #1566 — Bug: unable to open 'pr.url' when clicking PR link
  • FIXED
    Fixes #1545 — Missing branch comparison controls in versions 11.5.0 and 11.5.1
  • FIXED
    Fixes #1548 — "Don't show again" on debug log warning doesn't work
  • FIXED
    Fixes #1449 — Configured remotes not showing up in quickpick menu when opening commit on remote
  • FIXED
    Fixes issues where auto-linking of GitHub 3rd party issue links didn't always work
  • FIXED
    Fixes issue with long commit messages on rebase editor
  • FIXED
    Fixes compatibility issue with Live Share
  • 11.5.1
    JUNE  2021
  • FIXED
    Fixes up/down order of the alternate shortcuts on the Interactive Rebase Editor
  • 11.5.0
    JUNE  2021
  • NEW
    Adds support for Workspace Trust
  • NEW
    Adds rich hovers to commits in the views — including associated pull requests (when connected to GitHub) and auto-linked issues
  • NEW
    Adds a new section for associated pull requests (when connected to GitHub) and auto-linked issues to the Details hover
  • NEW
    Adds the ability to filter comparisons to show only either the left-side or right-side file differences
  • NEW
    Adds the Open Folder History command to root folders — closes #1505
  • NEW
    Adds alternate j/k and shift+j/shift+k keyboard shortcuts to the Interactive Rebase Editor — closes #1538
  • NEW
    Adds the ability to show contributor statistics, files changed as well as lines added and deleted (can take a while to compute depending on the repository) — closes #1489
  • +
    Adds a Show Statistics / Hide Statistics toggle to the ... menu of the Contributors view
  • +
    Adds a gitlens.views.contributors.showStatistics setting to specify whether to show contributor statistics in the Contributors view
  • NEW
    Adds Create Pull Request... inline command to branches in the views
  • IMPROVED
    Adopts more VS Code codicons
  • IMPROVED
    Changes the Restore command title to Restore (Checkout) — closes #1493
  • IMPROVED
    Changes Compare with Working icon to better align with VS Code compare changes codicon
  • IMPROVED
    Renames the Discuss / Collab... button on the Details hover to Team...
  • IMPROVED
    Reverses the resulting comparison of the Compare with HEAD, Compare with Working, and Compare with Upstream commands in the views
  • FIXED
    Fixes #1538 — Wrong initial keyboard focus in interactive rebase
  • FIXED
    Fixes #1498 — "Search & Compare" broken entries
  • FIXED
    Fixes #1507 — Communicate git error instead of "unable to find git"
  • FIXED
    Fixes #1512 — Git tag command can add an extra -m
  • FIXED
    Fixes #1402 — File history missing commits from other branches
  • FIXED
    Fixes an issue where the current line blame intermittently fails to appear
  • FIXED
    Fixes an issue where auto-linking of GitHub 3rd party issue links was broken
  • FIXED
    Fixes an issue where view decorations on macOS wouldn't show the correct icon
  • 11.4.1
    APRIL  2021
  • NEW
    Adds an alternate Copy Remote File Url command (gitlens.copyRemoteFileUrlWithoutRange) to copy the remote url of the file without including any line range
  • FIXED
    Fixes #1458 — "Copy Remote File Url" not showing line ranges
  • 11.4.0
    APRIL  2021
  • NEW
    Adds a new status indicator (decoration), on the right, and a themeable colorization to branches in the views
  • +
    ! — indicates that the branch is missing its upstream (likely deleted from the remote)
  • NEW
    Adds a new indicator to branches in quick pick menus when a branch is missing its upstream
  • NEW
    Adds Open Folder History command to folders in the Explorer view to show the folder's history in the File History view
  • NEW
    Adds Gitea remote provider support — closes #1379 thanks to PR #1396 by Nils K (septatrix)
  • NEW
    Adds a gitlens.advanced.commitOrdering setting to specify the order by which commits will be shown. If unspecified, commits will be shown in reverse chronological order — closes #1257 thanks to PR #1344 by Andy Tang (thewindsofwinter) and Shashank Shastri (Shashank-Shastri)
  • NEW
    Adds documentation for the GitLens: Set Views Layout command — thanks to PR #1404 by Asif Kamran Malick (@akmalick)
  • NEW
    Adds an Enable Debug Logging command (gitlens.enableDebugLogging) to enable debug logging to the GitLens output channel
  • NEW
    Adds a Disable Debug Logging command (gitlens.disableDebugLogging) to disable debug logging to the GitLens output channel
  • FIXED
    Fixes #1423 — Create tag with message fails
  • FIXED
    Fixes #1428 — Incorrect branch name when no commits exist on new repo
  • FIXED
    Fixes #1444 — File history view "Open Changes with Working File" does not work for the very first commit
  • FIXED
    Fixes #1448 — Hashes (#) are percent encoded in custom remote urls
  • FIXED
    Fixes #1447Open File on Remote From... is missing remote branches
  • FIXED
    Fixes #1442 — Interactive Rebase Editor not opened but plain text file when called from terminal
  • FIXED
    Fixes #1439 — Copying a remote file URL for a file on Azure DevOps does not work — thanks to PR #1440 by Lee C. (MeltingMosaic)
  • FIXED
    Fixes #1445 — Improve documentation for hiding default added editor actions
  • FIXED
    Fixes #1411 — Click on branch compare node does not expand the tree
  • FIXED
    Fixes an issue where the Changes to pull from *'s * files changed was always 0
  • 11.3.0
    MARCH  2021
  • NEW
    Adds new status indicators (decorations), on the right, and themeable colorizations to branches in the views
  • +
    — indicates that the branch is the current branch
  • +
    + green colorization — indicates that the branch has unpushed changes (ahead)
  • +
    + red colorization — indicates that the branch has unpulled changes (behind)
  • +
    ⮟⮝ + yellow colorization — indicates that the branch has diverged from its upstream; meaning it has both unpulled and unpushed changes
  • +
    ⮙+ + green colorization — indicates that the branch hasn't yet been published to an upstream remote
  • NEW
    Adds new status indicators (decorations), on the right, and themeable colorizations to files in the views
  • +
    M — indicates that the file is/was modified
  • +
    A + green colorization — indicates that the file is/was added
  • +
    D + red colorization — indicates that the file is/was deleted
  • +
    R + green colorization — indicates that the file is/was renamed
  • +
    C + green colorization — indicates that the file is/was copied
  • +
    I + grey colorization — indicates that the file is ignored
  • +
    U + green colorization — indicates that the file is untracked
  • NEW
    Adds a new built-in Create Pull Request flow that starts opening a pull request on github.com
  • NEW
    Adds a new Open Blame Prior to Change command (gitlens.openBlamePriorToChange) to open the blame of prior revision of the selected line in the current file — closes #1014
  • NEW
    Adds new Git CodeLens action options
  • +
    Opens the commit on the remote service (when available) and Copies the remote commit url to the clipboard (when available)
  • +
    Opens the file revision on the remote service (when available) and Copies the remote file revision url to the clipboard (when available)
  • +
    Toggles the file heatmap
  • +
    Toggles the file changes since before the commit
  • +
    Toggles the file changes from the commit
  • NEW
    Adds new status bar blame action options
  • +
    Opens the commit on the remote service (when available) and Copies the remote commit url to the clipboard (when available) — closes #1378
  • +
    Opens the file revision on the remote service (when available) and Copies the remote file revision url to the clipboard (when available)
  • +
    Toggles the file heatmap
  • +
    Toggles the file changes since before the commit
  • +
    Toggles the file changes from the commit
  • NEW
    Adds Publish Repository command (gitlens.publishRepository) to publish the repository to a remote provider
  • NEW
    Adds supported remote types in README — thanks to PR #1371 by Vladislav Guleaev (@vguleaev)
  • NEW
    Adds a new Reset Avatar Cache command (gitlens.resetAvatarCache) to clear the avatar cache
  • IMPROVED
    Changes the Blame Previous Revision command on the hover to Open Blame Prior to this Change
  • IMPROVED
    Changes the Blame Previous Revision command icon on the hover to the versions codicon
  • FIXED
    Fixes 1372 — Unexpected repository detection on editor startup after recent updates
  • FIXED
    Fixes 1394 — Repository view settings appear disabled
  • FIXED
    Fixes 1391 — Branch names are not properly escaped in git commands
  • FIXED
    Fixes 1336 — Need to allow GitLens to connect to GitHub in every Codespace (requires VS Code v1.54-insiders or later)
  • FIXED
    Fixes 1363 — Error 'Unable to open compare', when git setting log.showsignature is active
  • FIXED
    Fixes 1368 — Suppress message "GitLens was unable to find Git"
  • FIXED
    Fixes an issue where the rebase status in the views could get "stuck" after a rebase completed
  • FIXED
    Fixes typo in README — thanks to PR #1374 by David Rees (@studgeek)
  • 11.2.1
    FEBRUARY  2021
  • IMPROVED
    Changes to additionally show merged pull requests at the root of the Commits and Repositories views
  • FIXED
    Fixes #1361 — Interactive rebase editor fails when opened in a VS Code window that doesn't have the repository opened
  • FIXED
    Fixes #1357 — Branch sorting may be reversed — thanks to PR #1358 by sueka (@sueka)
  • 11.2.0
    FEBRUARY  2021
  • NEW
    Adds rebase and/or merge status when applicable to the Commits and Repositories views
  • +
    Merging into <branch> or Resolve conflicts before merging into <branch>
    Merging
    • Lists any conflicted files. Conflicted files show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
  • +
    Rebasing <branch> or Resolve conflicts to continue rebasing <branch>
    Merging
    • Shows the number of rebase steps left, the commit the rebase is paused at, and lists any conflicted files. Conflicted files show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
  • NEW
    Adds rebase and/or merge conflict status when applicable to the File History and Line History views
  • +
    Merge Changes
    Merge Conflict
    • Show comparisons with the common base of the current and incoming changes to aid in resolving the conflict by making it easier to see where changes originated
  • NEW
    Adds status indicator colors to pull request icons in GitLens views
  • NEW
    Adds a new Quick Open File History command to all places where Open File History already exists — closes #1156
  • NEW
    Adds the Add Remote command to the branch status in the Branches, Commits, and Repositories views when there are no Git remotes configured
  • NEW
    Adds a new Browse Repository from Before Here (gitlens.browseRepoBeforeRevision) and Browse Repository from Before Here in New Window (gitlens.browseRepoBeforeRevisionInNewWindow) commands
  • NEW
    Adds Repository from Before Here and Repository from Before Here in New Window to the Browse submenu of commits in the views
  • NEW
    Adds a new Copy Current Branch Name (gitlens.copyCurrentBranch) command to copy the current branch name to the clipboard — closes #1306 — thanks to PR #1307 by Ken Hom (@kh0m)
  • NEW
    Adds a Switch to Text button on the Interactive Rebase Editor to open the text rebase todo file — note that closing either document will start the rebase
  • NEW
    Adds a notification which asks if you want to create a pull request after publishing a new branch
  • NEW
    Adds CodeStream partnership
  • NEW
    Adds a gitlens.views.branches.reveal setting to specify whether to reveal branches in the Branches view, otherwise they will be revealed in the Repositories view
  • NEW
    Adds a gitlens.views.commits.reveal setting to specify whether to reveal commits in the Commits view, otherwise they will be revealed in the Repositories view
  • NEW
    Adds a gitlens.views.remotes.reveal setting to specify whether to reveal remotes in the Remotes view, otherwise they will be revealed in the Repositories view
  • NEW
    Adds a gitlens.views.stashes.reveal setting to specify whether to reveal stashes in the Stashes view, otherwise they will be revealed in the Repositories view
  • NEW
    Adds a gitlens.views.tags.reveal setting to specify whether to reveal tags in the Tags view, otherwise they will be revealed in the Repositories view
  • NEW
    Adds a gitlens.advanced.abbreviateShaOnCopy setting to specify to whether to copy full or abbreviated commit SHAs to the clipboard. Abbreviates to the length of gitlens.advanced.abbreviatedShaLength — closes #1062 — thanks to PR #1316 by Brendon Smith (@br3ndonland)
  • NEW
    Adds a gitlens.advanced.externalDiffTool setting to specify an optional external diff tool to use when comparing files. Must be a configured Git difftool.
  • NEW
    Adds a gitlens.advanced.externalDirectoryDiffTool setting to specify an optional external diff tool to use when comparing directories. Must be a configured Git difftool.
  • NEW
    Adds a new regex option to gitlens.remotes to better support custom remote matching — closes #1196
  • IMPROVED
    Changes gitlens.statusBar.reduceFlicker to be on by default and improves it's display — closes #1353
  • IMPROVED
    Changes the Interactive Rebase Editor to abort the rebase if you just close it without choosing an action
  • IMPROVED
    Changes Push to Commit... on the HEAD commit to be Push instead as there is no need for a commit specific push in that case
  • IMPROVED
    Renames Browse from Here command to Browse Repository from Here in the command palette and quick pick menus
  • IMPROVED
    Renames Browse from Here in New Window command to Browse Repository from Here in New Window in the command palette and quick pick menus
  • IMPROVED
    Renames Browse from Here to Repository from Here on the Browse submenu of commits in the views
  • IMPROVED
    Renames Browse from Here in New Window to Repository from Here in New Window on the Browse submenu of commits in the views
  • FIXED
    Fixes #1267 — File history fails on Git for Windows 2.27 ("There are no editors open that can provide file history information.")
  • FIXED
    Fixes #1006 — "GitLens: Open File on Remote" opens wrong Bitbucket URL
  • FIXED
    Fixes #901 — Bitbucket Server fails when url = https://DOMAIN/stash/scm/PROJECT/REPO.git
  • FIXED
    Fixes #1354 — Stuck after merge a branch with a single quote in the name
  • FIXED
    Fixes #863 — Pulling all repositories doesn't work unless built-in Git knows about the repo (requires VS Code v1.53 or later)
  • FIXED
    Fixes #1332 — Stashes created with command line don't show up in the "Stashes" section
  • FIXED
    Fixes #1045 — View File History not working - absolute path used — thanks to PR #1334 by egfx-notifications (@egfx-notifications)
  • FIXED
    Fixes #1323 — Interactive rebase hangs
  • FIXED
    Fixes #1183 — stash all changes has no effect when the number of files is large
  • FIXED
    Fixes #1308 — Escape quotes for PRs titles
  • FIXED
    Fixes #1309 — "Fetch" not working on remote branches
  • FIXED
    Fixes an issue where many views wouldn't refresh properly when going from no items to some items
  • FIXED
    Fixes an issue where Publish Branch was incorrectly showing up on remote branches
  • FIXED
    Fixes an issue where the Open Directory Compare * commands failed to work
  • FIXED
    Fixes an issue where pinning a file/line to the File History view or Line History view would get lost if the view was collapsed and expanded
  • REMOVED
    Removes the gitlens.repositories.enabled setting, since the view is toggleable as any other view now
  • REMOVED
    Removes the gitlens.lineHistory.enabled setting, since the view is toggleable as any other view now
  • REMOVED
    Removes the Hide Repositories view command, since the view is toggleable as any other view now
  • REMOVED
    Removes the Hide Line History view command, since the view is toggleable as any other view now
  • 11.1.3
    JANUARY  2021
  • FIXED
    Fixes #1303 — Open on Remote is creating invalid URLs for Azure Devops — thanks to PR #1304 by Travis Collins (@TravisTX)
  • 11.1.2
    JANUARY  2021
  • FIXED
    Fixes the outdated documentation url on the Connect Remote Provider quick pick menu — thanks to PR #1300 by Ahmadou Waly NDIAYE (@sir-kain)
  • 11.1.1
    JANUARY  2021
  • IMPROVED
    Improves the performance of the Stashes and Contributors views
  • FIXED
    Fixes #1302 — Welcome screen on every editor window is very tedious
  • FIXED
    Fixes #1285 — Uncommitted staged changes after pull
  • FIXED
    Fixes #1294 — Error when open commits list
  • 11.1.0
    DECEMBER  2020
  • NEW
    Refines the Repositories view to better align its features with all the new views
  • +
    Adds menu toggles and the settings below to allow for far greater customization of the sections in the Repositories view
  • +
    Adds a gitlens.views.repositories.branches.showBranchComparison setting to specify whether to show a comparison of the branch with a user-selected reference (branch, tag. etc) under under each branch in the Repositories view
  • +
    Adds a gitlens.views.repositories.showBranches setting to specify whether to show the branches for each repository
  • +
    Adds a gitlens.views.repositories.showCommits setting to specify whether to show the commits on the current branch for each repository
  • +
    Adds a gitlens.views.repositories.showContributors setting to specify whether to show the contributors for each repository
  • +
    Adds a gitlens.views.repositories.showIncomingActivity setting to specify whether to show the experimental incoming activity for each repository
  • +
    Adds a gitlens.views.repositories.showRemotes setting to specify whether to show the remotes for each repository
  • +
    Adds a gitlens.views.repositories.showStashes setting to specify whether to show the stashes for each repository
  • +
    Adds a gitlens.views.repositories.showTags setting to specify whether to show the tags for each repository
  • +
    Adds a gitlens.views.repositories.showUpstreamStatus setting to specify whether to show the upstream status of the current branch for each repository
  • +
    Adds all of the settings above to the Repositories view section in the GitLens Interactive Settings
  • NEW
    Adds better visibility to the, hidden by default, Repositories and Line History views
  • +
    Adds a Repositories view toggle command to the Commits view's context menu
  • +
    Adds a Line History view toggle command to the File History view's context menu
  • +
    Re-adds the Line History view settings to the GitLens Interactive Settings
  • NEW
    Adds usage-based sorting (on by default) to the Git Command Palette
  • +
    Adds a gitlens.gitCommands.sortBy setting to specify how Git commands are sorted in the Git Command Palette
  • NEW
    Adds ability to show gutter heatmap in the gutter and/or on the scroll bar — closes #297
  • +
    Adds a gitlens.heatmap.locations setting to specify where the indicators of the gutter heatmap annotations will be shown
  • NEW
    Adds a gitlens.fileAnnotations.command setting to specify whether the file annotations button in the editor title shows a menu or immediately toggles the specified file annotations — closes #1165 thanks to PR #1171 by Raaj Patil (@arrpee)
  • +
    Adds this new option to the Menus & Toolbars section of the GitLens Interactive Settings
  • NEW
    Adds a Push to Commit... command to unpublished commits in the Commits, Branches, and Repositories views, and to to unpublished files in the File History and Line History views
  • NEW
    Adds a Commit submenu to files in the File History and Line History views — closes #1044
  • NEW
    Adds an Open File on Remote From... command (gitlens.openFileOnRemoteFrom) to open a file or revision on a specific branch or tag on the remote provider — closes #1071
  • NEW
    Adds a Copy Remote File Url From... command (gitlens.copyRemoteFileUrlFrom) to copy the url of a file or revision on a specific branch or tag the remote provider — closes #1071
  • NEW
    Adds a welcome, i.e. richer empty state, to the Search & Compare view
  • NEW
    Adds dynamic updating of the last fetched date/time in the Commits and Repositories views
  • NEW
    Adds a Connect to Remote command (gitlens.connectRemoteProvider) to connect to a supported remote service to enable a rich integration
  • NEW
    Adds a Disconnect from Remote command (gitlens.disconnectRemoteProvider) to disconnect from a connected remote service
  • NEW
    Adds a gitlens.integrations.enabled setting to specify whether to enable rich integrations with any supported remote services — see #1208
  • NEW
    Adds a gitlens.terminalLinks.enabled setting to specify whether to enable terminal links — autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more — closes #1284
  • NEW
    Adds a gitlens.defaultTimeFormat setting to specify how times will be formatted by default
  • NEW
    Adds a gitlens.showWelcomeOnInstall setting to specify whether to show the Welcome (Quick Setup) experience on first install — closes #1049 thanks to PR #1258 by Rickard (@rickardp)
  • NEW
    Adds a ⭐ star as a favorite indicator on branches in the quick pick menus
  • NEW
    Adds ability to toggle the Toggle Compare with: Working Tree / Branch command before a comparision is chosen
  • NEW
    Adds GitLens extensibility APIs
  • +
    Adds an action runner extensibility point to provide a runner (handler) for the new createPullRequest and openPullRequest actions — see gitlens.d.ts for API definitions
  • IMPROVED
    Changes the Incoming Activity section of the Repositories view to be hidden by default, as it is still experimental
  • IMPROVED
    Changes the options on the Git Command Palette's revert command to now be Revert (--no-edit) and Revert & Edit (--edit) — closes #1269
  • IMPROVED
    Changes the thickness (boldness) of a handful of icons to better match VS Code codicons
  • FIXED
    Fixes #1016 — "Last fetched" message is also updated when fetch failed
  • FIXED
    Fixes #1218 — Opening Ahead/Behind files isn't showing the desire diff (e.g. diff with the merge base)
  • FIXED
    Fixes #1255 — Repository folders are missing repository actions (e.g. favorites, close repo, etc)
  • FIXED
    Fixes #1246 — Gutter Blame avatar does not use Gravatar fallback style
  • FIXED
    Fixes #1208 — Connect to Github notification is noisy
  • FIXED
    Fixes #526 — FAILED in gitlens.outputLevel=verbose; likely due to regex not in quotes
  • FIXED
    Fixes #1222 — GitLens: Open Associated Pull Request doesn't work
  • FIXED
    Fixes #1223 — commit pane, ${tips} does not show tags
  • FIXED
    Fixes #1225 — Changes hover is wrong if the original/new line number doesn't match
  • FIXED
    Fixes #1045 — View File History not working - absolute path used — thanks to #1209 by Mike Surcouf (@mikes-gh)
  • FIXED
    Fixes #1087 — Error retrieving line history from UNC path — thanks to #1209 by Mike Surcouf (@mikes-gh)
  • FIXED
    Fixes #1176 — Can't selectively apply stash
  • FIXED
    Fixes #1212 — Stashes list doesn't refresh on deletion
  • FIXED
    Fixes #1191 — "Gitlens › Views › Repositories: Auto Refresh" not working
  • FIXED
    Fixes #1202 — "Copy Remote File Url" url-encodes the URL
  • FIXED
    Fixes an issue where Gutter * file annotations wouldn't dynamically update when changing certain default configuration settings
  • FIXED
    Fixes an issue where git shortlog could hang (when there is no HEAD)
  • FIXED
    Fixes an issue where GitLens: Show Repositories View command wouldn't work unless the view was enabled first
  • FIXED
    Fixes an issue where GitLens: Show Line History View command wasn't showing up unless the view was enabled first
  • FIXED
    Fixes an issue where trying to force push the current branch would fail
  • FIXED
    Fixes an issue where Push to Commit... would incorrectly show a repository picker
  • FIXED
    Fixes an issue where the Add Remote command wasn't working
  • FIXED
    Fixes an issue where the gitlens.sortBranchesBy and gitlens.sortTagsBy settings where not honored in many quick pick menus
  • FIXED
    Fixes an issue where the Toggle Compare with: Working Tree / Branch command was showing incorrectly on the branch comparisons
  • 11.0.6
    NOVEMBER  2020
  • IMPROVED
    Changes the Where did my views go? view to show on this next upgrade, since somehow (still not sure how) it was never shown to many (most?) users
  • IMPROVED
    Changes GitHub connection rejection to be per-workspace (rather than global)
  • FIXED
    Fixes #1205 — Setting heatmap's coldColor and hotColor breaks file blame & related functionality
  • FIXED
    Fixes invalid branch status showing up for remote branches
  • 11.0.5
    NOVEMBER  2020
  • FIXED
    Fixes #1204 — Compare file changes: "new" and "old" sides of the compare are backwards
  • 11.0.4
    NOVEMBER  2020
  • FIXED
    Fixes #1161 — Compare file differences between branches
  • FIXED
    Fixes #1157 — GitLens report `X files changed` when comparing working tree with a branch having identical files
  • 11.0.3
    NOVEMBER  2020
  • FIXED
    Fixes #1163 — Use Interactive Rebase Editor when run from GitLens command (regardless of Git config)
  • FIXED
    Fixes #1197 — Can't squash commit in interactive rebase editor
  • FIXED
    Fixes the gitlens.codeLens.scopes setting json schema
  • 11.0.2
    NOVEMBER  2020
  • NEW
    Refines the Interactive Rebase Editor
  • +
    Adds a quick-access button to disable the rebase editor — closes #1153
  • +
    Adds shortcut keys to start and abort a rebase
  • +
    Adds a Disable Interactive Rebase Editor command (gitlens.disableRebaseEditor)
  • +
    Adds an Enable Interactive Rebase Editor command (gitlens.enableRebaseEditor)
  • +
    Adds an Interactive Rebase Editor section to the GitLens Interactive Settings
  • ~
    Changes the layout spacing of the Interactive Rebase Editor to allow for more commits to be shown at once
  • FIXED
    Fixes #1187 — Warning about incorrect regexp in DevTools console — thanks to #1188 by Andrii Dieiev (@IllusionMH)
  • FIXED
    Fixes #1151 — Icons not showing in interactive rebase
  • FIXED
    Fixes #1166 — Enormous avatars in interactive rebase view
  • 11.0.1
    NOVEMBER  2020
  • NEW
    Adds a Compare References... command (gitlens.compareWith) to compare two selected references
  • NEW
    Adds ability to enter reference ranges (e.g. main...release/1.0) to the Git Command Palette's history command
  • FIXED
    Fixes #1148 — Follow renames on File History cannot load more history
  • FIXED
    Fixes #1157 — GitLens report `X files changed` when comparing working tree with a branch having identical files
  • FIXED
    Fixes #1150 — Cannot read property 'provider' of undefined
  • 11.0.0
    NOVEMBER  2020
  • NEW
    Adds all-new views side bar views
  • ~
    Moves all GitLens views to the Source Control side bar by default. You can move them back to the GitLens side bar via the Set Views Layout (gitlens.setViewsLayout) command or individually via drag and drop
  • +
    Commits view — visualize, explore, and manage Git commits
    Commits view
    • Adds an indicator icon (up arrow) to unpublished (unpushed) commits
  • +
    Branches view — visualize, explore, and manage Git branches
    Branches view
  • +
    Remotes view — visualize, explore, and manage Git remotes and remote branches
    Remotes view
  • +
    Stashes view — visualize, explore, and manage Git stashes
    Stashes view
  • +
    Tags view — visualize, explore, and manage Git tags
    Tags view
  • +
    Contributors view — visualize, navigate, and explore contributors
    Contributors view
    • Moves the current user to be first and adds a (you) suffix
  • +
    Search & Compare view — search and explore commit histories by message, author, files, id, etc, or visualize comparisons between branches, tags, commits, and more
    Search & Compare view
    • Replaces the Search Commits and Compare Commits views
    • Adds persistence (pinning) for both searches and comparisons
    • Adds ability to edit existing searches
  • ~
    Disables the Repositories view by default, as it has been superseded by many new views. You can re-enable it by setting "gitlens.views.repositories.enabled": true or via the GitLens Interactive Settings
  • ~
    Integrates line history into the File History view
    File History view
    • Adds a new Toggle History Mode command to toggle between showing file or line history
    • Adds an indicator icon (up arrow) to unpublished (unpushed) commits
    • Adds support for showing history across all branches via the Toggle Filter menu command — closes #974
    • Adds staged changes
  • IMPROVED
    Refines all of the GitLens contributed menus to reduce noise and improve usability
  • NEW
    Adds a user-friendly interactive rebase editor to easily configure an interactive rebase session
    Rebase Editor
  • NEW
    Adds terminal linksctrl+click on autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more
    Terminal Links
  • NEW
    Adds rich integration with GitHub
  • +
    Adds GitHub avatar support!
  • +
    Adds associated pull request to line annotations and hovers
    Pull requests on line annotation and hovers
  • +
    Adds associated pull request to status bar blame
    Pull requests on status bar
  • +
    Adds associated pull requests to branches and commits in the GitLens views
  • +
    Adds autolinks for GitHub issues and pull requests, including titles, status, and authors
  • NEW
    Adds a new and improved Gutter Heatmap file annotations, via the Toggle File Heatmap Annotations command (gitlens.toggleFileHeatmap)
    Gutter Heatmap
    • Displays the heatmap in the gutter for a cleaner look and avoids any code jumping
    • Adds improved heatmap colorization for better clarity of old and new code
    • Adds the hot/cold age threshold to the GitLens Interactive Settings
  • NEW
    Adds a new and improved Gutter Changes file annotations, via the Toggle File Changes Annotations command (gitlens.toggleFileChanges) — closes #396
    Gutter Changes
    • Provides indicators of local changes, if any, or recent commit changes, and distinguishes between added, changed, and removed lines
    • Similar to the built-in Git gutter changes for un-staged changes, but shows all local (un-pushed) changes
    • Shows a changes hover with the full set of changes (diff hunk) and even with unsaved changes
  • NEW
    Adds many refinements to the Git Command Palette (previously Git Commands), and adds new commands
    Git Command Palette
  • +
    Adds many more options to existing commands
  • +
    Adds improved titles for better clarity, context, and flow
  • +
    Adds a new history (log) command to show the commit history of a branch or tag
    • Adds a Reveal in Side Bar button to the quick pick menu toolbar
    • Adds keyboard navigation
      • right arrow — reveals the selected branch in the Branches or Remotes view (or Repositories view, if enabled), if there is no text in the quick pick menu
      • alt+right arrow, ctrl+right arrow, cmd+right arrow (macOS) — reveals the selected branch in the Branches or Remotes view
  • +
    Adds a new show command to show the details of a commit
    • Adds a Reveal in Side Bar button to the quick pick menu toolbar
    • Adds keyboard navigation
      • right arrow — searches for the selected commit and shows the results in the Search Commits view, if there is no text in the quick pick menu
      • alt+right arrow — searches for the selected commit and shows the results in the Search Commits view
      • ctrl+right arrow, cmd+right arrow (macOS) — reveals the selected commit in the Commits view (or Repositories view, if enabled)
  • +
    Adds a new status command to show the current respository status
  • +
    Adds a new Delete Branch & Remote and Force Delete Branch & Remote options to the branch delete command — to more easily delete branches with tracking branches
  • +
    Adds ability pull (fetch) a specific branch(es) to the pull command — closes #873
  • +
    Adds a new Publish Branch option to the push command
  • +
    Adds ability to push a single branch to the push command
  • +
    Adds support for honoring the git.useForcePushWithLease setting on the push command
  • +
    Adds a new Soft Reset (--soft) option to the reset command
  • NEW
    Adds improved autolinks support
  • +
    Adds a new alphanumeric flag to autolinks — closes #946
  • +
    Adds autolink support in plain text (as footnotes)
  • +
    Allows autolinks inside parentheses and square brackets
  • NEW
    Adds improved co-author support
  • +
    Provides an updatable quick pick of co-authors
  • +
    Adds the Add Co-authors (gitlens.addAuthors) command to the Source Control context menu
  • +
    Adds an option to show or hide the Add Co-authors command on the Source Control context menu to the Menus & Toolbars section of the GitLens Interactive Settings
  • NEW
    Adds many new commands
  • +
    Open File from Remote (gitlens.openFileFromRemote) command — opens the local file from a remote file url
  • +
    Set Views Layout (gitlens.setViewsLayout) command — quickly switch between showing GitLens views in GitLens sidebar (default) and the Source Control sidebar
  • +
    Adds a Switch to Another Branch (gitlens.views.switchToAnotherBranch) command — to quickly switch the current branch
  • +
    Copy Remote Commit Url command (gitlens.copyRemoteCommitUrl) — copies the url of the current line commit on the remote provider
  • +
    Copy Remote Branch Url command (gitlens.copyRemoteBranchUrl) — copies the url of a branch on the remote provider
  • +
    Copy Remote Branches Url command (gitlens.copyRemoteBranchesUrl) — copies the url of the branches on the remote provider
  • +
    Open Comparison on Remote command (gitlens.openComparisonOnRemote) — opens the comparison on the remote provider
  • +
    Copy Remote Comparison Url command (gitlens.copyRemoteComparisonUrl) — copies the url of the comparison on the remote provider
  • +
    Open Pull Request command (gitlens.openPullRequestOnRemote) — opens the pull request on the remote provider
  • +
    Copy Pull Request Url command (gitlens.copyRemotePullRequestUrl) — copies the url of the pull request on the remote provider
  • +
    Copy Remote Repository Url command (gitlens.copyRemoteRepositoryUrl) — copies the url of the repository on the remote provider
  • NEW
    Adds alternative alt+click commands for many of the Open * on Remote commands to alternatively copy the url to the clipboard
  • NEW
    Adds an Open Commit on Remote command (with an Copy Remote Commit Url alt+click command) to commits in the VS Code Timeline view
  • NEW
    Adds ability to set the default remote from any of the Open * on Remote command quick pick menus
  • NEW
    Adds Git CodeLens to markdown headers
  • NEW
    Adds new Git CodeLens options to disable the click actions on both the recent change and authors CodeLens — closes #989 thanks to #1009 by Abdulrahman (Abdu) Assabri (@abdusabri)
  • NEW
    Adds per-language customizations to the gitlens.codeLens.scopes and gitlens.codeLens.symbolScopes settings — closes #977
  • NEW
    Adds new click behavior for changed files in GitLens views to open a diff of all contained changes
  • NEW
    Adds a new gitlens.hovers.avatarSize setting to customize the size of avatars shown in hovers
    • Increases the default avatar size in hovers from 16px to 32px
  • NEW
    Adds Hide Avatars or Show Avatars menu command to many GitLens views to hide or show avatars
  • NEW
    Adds Hide Date Markers or Show Date Markers menu command to many GitLens views to hide or show relative date markers
  • NEW
    Adds real-time preview when editing format strings in the GitLens Interactive Settings
  • NEW
    Adds a new commit format tokens: ${authorNotYou}, ${agoOrDateShort}, ${authorAgoOrDateShort}, ${committerAgoOrDateShort}
  • NEW
    Adds synchronized storage to avoid opening the Welcome page or showing a What's New notification on new machines when Settings Sync is enabled
  • NEW
    Adds new Welcome and Open Settings menu commands to the GitLens gear menu in the Extensions sidebar — closes #952 & #953 thanks to #992 by Zeeshan Adnan (@zeeshanadnan)
  • NEW
    Adds a new HEAD option to the compare quick pick menu — closes #927
  • NEW
    Adds support for .gitattributes text conversion filters — closes #866 thanks to #1052 by Martin Campbell (@martin-css)
  • NEW
    Adds week(s) ago to relative time formatting
  • NEW
    Adds a limit of 5000 commits to the Load All command in GitLens views
  • NEW
    Adds a Clear command to the branch comparison tool in GitLens views
  • NEW
    Adds compact mode for showing branch and tag tips on commits in GitLens views
  • NEW
    Adds Copy SHA command to branches and tags in GitLens views
  • IMPROVED
    Changes all comparisons results to be split into ahead and behind groups
  • IMPROVED
    Changes Git CodeLens to be less intrusive when they are unavailable because of unsaved changes, via new defaults for the gitlens.strings.codeLens.unsavedChanges.* settings
  • IMPROVED
    Changes to use VS Code's built-in icons (codicons) where possible — closes #985
  • IMPROVED
    Changes to use codicons in hovers — closes #954
  • IMPROVED
    Changes revision navigation icons to better match VS Code
  • IMPROVED
    Changes all the Open * on Remote command icons to use the globe codicon
  • IMPROVED
    Changes the comparison icons in GitLens views
  • IMPROVED
    Changes the default blame annotation format to show 50 characters (instead of 40)
  • IMPROVED
    Changes the relative date markers in GitLens views to be less prominent, and avoids showing the marker if it is first item
  • IMPROVED
    Changes commit quick pick menu commands to align with commit context menu commands
  • IMPROVED
    Changes the Open Settings and Welcome pages to open beside the active editor
  • IMPROVED
    Changes the default sorting of branches so that main, master, and develop are first
  • IMPROVED
    Changes the sorting of branches in the Git Commands Palette and other quick pick menus to be by date descending
  • IMPROVED
    Changes the default sorting of remotes so that origin is first — closes #924 — thanks to #925 by Connor Peet (@connor4312)
  • IMPROVED
    Changes the default sorting of tags to be by date descending
  • IMPROVED
    Changes to limit scm/resourceGroup/context and scm/resourceState/context menu contributions
  • IMPROVED
    Changes to support the latest emojis in commit messages
  • IMPROVED
    Improves VS Code startup performance by using the new onStartupFinished activation event
  • IMPROVED
    Improves the performance of the Details hover
  • IMPROVED
    Improves the performance of loading Contributors in the Contributors and Repositories views
  • IMPROVED
    Improves the performance and experience when opening multiple files or revisions
  • IMPROVED
    Improves the performance of the file system watching for repository changes (ignores .gitignored files)
  • IMPROVED
    Moves the avatars in the Gutter Blame file annotations to be part of the annotations rather than in the gutter itself
  • IMPROVED
    Renames Show More to Load more in GitLens views
  • IMPROVED
    Renames Show Commit Details command to Show Commit
  • IMPROVED
    Replaces Push to Commit (via Terminal) command with a new Push to Commit command
  • IMPROVED
    Deprecates the Line History view, as it has been integrated into the File History view. While it will likely be removed in a future version, you can be re-enable it by setting "gitlens.views.lineHistory.enabled": true
  • IMPROVED
    Deprecates the gitlens.codeLens.scopesByLanguage setting, use per-language gitlens.codeLens.scopesandgitlens.codeLens.symbolScopes settings instead
  • IMPROVED
    Deprecates the gitlens.gitCommands.search.showResultsInView setting as it has been renamed to gitlens.gitCommands.search.showResultsInSideBar
  • IMPROVED
    Deprecates the gitlens.views.commitFileFormat setting, use gitlens.views.formats.files.label instead
  • IMPROVED
    Deprecates the gitlens.views.commitFileDescriptionFormat setting, use gitlens.views.formats.files.description instead
  • IMPROVED
    Deprecates the gitlens.views.commitFormat setting, use gitlens.views.formats.commits.label instead
  • IMPROVED
    Deprecates the gitlens.views.commitDescriptionFormat setting, use gitlens.views.formats.commits.description instead
  • IMPROVED
    Deprecates the gitlens.views.stashFileFormat setting, use gitlens.views.formats.files.label instead
  • IMPROVED
    Deprecates the gitlens.views.stashFileDescriptionFormat setting, use gitlens.views.formats.files.description instead
  • IMPROVED
    Deprecates the gitlens.views.stashFormat setting, use gitlens.views.formats.stashes.label instead
  • IMPROVED
    Deprecates the gitlens.views.stashDescriptionFormat setting, use gitlens.views.formats.stashes.description instead
  • IMPROVED
    Deprecates the gitlens.views.statusFileFormat setting, use gitlens.views.formats.files.label instead
  • IMPROVED
    Deprecates the gitlens.views.statusFileDescriptionFormat setting, use gitlens.views.formats.files.description instead
  • IMPROVED
    Removes the sponsor heart icon from all GitLens views and simplifies the sponsor command
  • IMPROVED
    Removes the useless Collapse All command from the File History view
  • IMPROVED
    Removes the Keep Open toggle button on the Git Command Palette toolbar — the behavior is now automatically determined (unless overridden by the gitlens.gitCommands.closeOnFocusOut setting)
  • IMPROVED
    Removes ${changes} token from commit description format by default
  • IMPROVED
    Removes the associated commit sha from tag descriptions
  • IMPROVED
    Removes many view visibility (enablement) settings as the control over a views visibility is more easily controlled directly by unchecking the view itself
  • IMPROVED
    Removes the gitlens.views.repositories.showTrackingBranch setting as it is now always enabled
  • FIXED
    Fixes diffs of renamed files in certain cases
  • FIXED
    Fixes #1139 — Git crash with v2.29.x
  • FIXED
    Fixes typo forcably -> forcibly — thanks to #1138 by Andrea Cigana (@ciganandrea)
  • FIXED
    Fixes missing empty (non-merge) commits
  • FIXED
    Fixes issue with a blank branch name before any commits exist
  • FIXED
    Fixes issues with missing repository or file system change events while vs code is unfocused
  • FIXED
    Fixes remote url issues with spaces in the filename
  • FIXED
    Fixes issue where <remote>/HEAD was showing up as a branch
  • FIXED
    Fixes issues with revision navigation commands and diff editors
  • FIXED
    Fixes show command with single file commits
  • FIXED
    Fixes delete of remote branches on the Git Command Palette's branch command
  • FIXED
    Fixes Git Command Palette's back tracking in certain cases
  • FIXED
    Fixes issue to ensure that dropping a stash drops the correct item even if the view is out of date
  • FIXED
    Fixes the Push Stash & Keep Staged option on the Git Command Palette's stash command
  • FIXED
    Fixes issues with stashes and untracked files
  • FIXED
    Fixes the wrong icon on the Unstage All Changes command
  • FIXED
    Fixes issue where a selection change wouldn't always trigger a Line History refresh
  • FIXED
    Fixes issues where GitLens' files would not re-open properly on reload
  • FIXED
    Fixes Incomplete string escaping or encoding code scan warning — https://github.com/eamodio/vscode-gitlens/security/code-scanning/1
  • FIXED
    Fixes Inefficient regular expression code scan warning — https://github.com/eamodio/vscode-gitlens/security/code-scanning/2
  • FIXED
    Fixes #1072 — Add whitespace to tree item tooltip — thanks to #1073 by Alex (@deadmeu)
  • FIXED
    Fixes Git Command Palette's stash drop command not working
  • FIXED
    Fixes #1033 — Adopt VS Code's 'asWebviewUri' API
  • FIXED
    Fixes issues with Open Changes with Previous Revision and diff editors
  • FIXED
    Fixes issues with Open Changes with Working File and diff editors
  • FIXED
    Fixes issue with the previous line diff line number being off
  • FIXED
    Fixes issues with bogus merge commits that can show up in file histories; now using --first-parent for git log with --follow
  • FIXED
    Fixes issues with paging git log with merge commits
  • FIXED
    Fixes directory compare from waiting for external tool to exit
  • FIXED
    Fixes #996 — Rename branch should show existing name highlighted
  • FIXED
    Fixes issues with folders that end with a space
  • FIXED
    Fixes typo in contributing search tag link — thanks to #981 by Guillem (@guillemglez)
  • FIXED
    Fixes #970 — Stashes doesn't honor files layout
  • FIXED
    Fixes Load more in GitLens views with range notation comparisons
  • FIXED
    Fixes ignoreCase flag on autolinks
  • FIXED
    Fixes #951 — Starring branch updates repository view properly — thanks to #963 by Zeeshan Adnan (@zeeshanadnan)
  • FIXED
    Fixes issues with switch branch command error handling
  • FIXED
    Fixes issues with stash command error handling
  • FIXED
    Fixes file history issues with copied and deleted files
  • FIXED
    Fixes intermittent issues with Reveal Commit in Repopsitories View
  • FIXED
    Fixes #910 — "Show Commit in Search Commits View" doesn't work
  • FIXED
    Fixes issues with hovers not showing on first editor
  • FIXED
    Fixes autolinking with remote providers
  • FIXED
    Fixes issues with some settings metadata

GitLens Features

GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase. Dive right in and see how GitLens can help!

While GitLens is powerful and feature rich, it is also highly customizable to meet your specific needs — find CodeLens intrusive or the current line blame annotation distracting — no problem, it is quick and easy to turn them off or change how they behave via the built-in settings editor , an interactive editor covering many of GitLens' powerful settings. While for more advanced customizations, refer to the GitLens settings docs and edit your user settings.

Here are some of the features that GitLens provides,

  • an unobtrusive current line blame annotation at the end of the line showing the commit and author who last modified the line, with more detailed blame information accessible on hover
  • authorship CodeLens showing the most recent commit and number of authors at the top of files and/or on code blocks
  • effortless revision navigation (backwards and forwards) through the history of a file
    Revision Navigation
  • a status bar blame annotation showing the commit and author who last modified the current line
  • on-demand file annotations in the editor gutter, including
    • blame — shows the commit and author who last modified each line of a file
    • changes — highlights any local (unpublished) changes or lines changed by the most recent commit
    • heatmap — shows how recently lines were changed, relative to all the other changes in the file and to now (hot vs. cold)
  • many rich Side Bar views
    • a Commits view to visualize, explore, and manage Git commits
    • a Repositories view to visualize, explore, and manage Git repositories
    • a File History view to visualize, navigate, and explore the revision history of the current file or just the selected lines of the current file and explore the revision history of the selected lines of current file
    • a Line History view to visualize, navigate, and explore the revision history of the selected lines of the current file
    • a Branches view to visualize, explore, and manage Git branches
    • a Remotes view to visualize, explore, and manage Git remotes and remote branches
    • a Stashes view to visualize, explore, and manage Git stashes
    • a Tags view to visualize, explore, and manage Git tags
    • a Contributors view to visualize, navigate, and explore contributors
    • a Search & Compare view to search and explore commit histories by message, author, files, id, etc, or visualize comparisons between branches, tags, commits, and more
  • a Git Command Palette to provide guided (step-by-step) access to many common Git commands, as well as quick access to
  • a user-friendly interactive rebase editor to easily configure an interactive rebase session
    Interactive Rebase Editor
  • terminal linksctrl+click on autolinks in the integrated terminal to quickly jump to more details for commits, branches, tags, and more
    Terminal Links
  • remote provider integrations — GitHub, GitLab, Bitbucket, Azure DevOps, Gerrit, and Gitea
    • issue and pull request auto-linking
    • rich hover information provided for linked issues and pull requests (GitHub only)
    • associates pull requests with branches and commits (GitHub only)
  • many powerful commands for navigating and comparing revisions, and more
  • user-defined modes for quickly toggling between sets of settings
  • and so much more 😁

GitLens FAQ

  • GitLens was acquired? Yes! We are SO excited to announce that GitLens was acquired by GitKraken in October 2021.
  • Who acquired GitLens? GitKraken, a US-based company that is focused on developer productivity tools, has acquired GitLens. GitKraken is the leading provider of Git productivity and collaboration solutions like the GitKraken Git client and Git Integration for Jira, which are relied on by 6 million developers in agile DevOps teams at 85,000 companies around the world.
  • Will GitLens continue to be developed, and will Eric Amodio still be involved? 100%. Eric is joining GitKraken as Chief Technology Officer to lead the continued development of GitLens and GitKraken’s popular Git collaboration and productivity tools. He is transitioning his GitLens involvement from spare-time to full-time focus, and will continue to be its lead developer. At GitKraken, GitLens will have the full support and resources of a leading software company that specializes in Git collaboration and productivity solutions for development teams.
  • Will GitLens continue to be free and open-source? Yes, GitKraken is fully committed to the on-going development and evolution of GitLens for VS Code. GitLens will continue to be free and open source and will keep evolving while we also explore adding GitLens+ features and services built upon GitLens to help teams accelerate their development through Git-centric collaboration, code comprehension, and visualization.
  • Will I lose access to any features I rely upon today? No, you will continue to have access to all the GitLens features you know and love, for free.

About GitLens

GitLens is a free open-source extension for Visual Studio Code with over 18 million installs and over 120 million downloads. GitLens was created by Eric Amodio in 2016 and was developed and maintained nearly exclusively by Eric in his spare time until October 2021 when he joined GitKraken as Chief Technology Officer. Eric now leads the development of GitLens and GitKraken's popular Git collaboration and productivity tools for developers.

Eric is an innovator, leader, architect, and seasoned full-stack developer. He joined forces with the GitKraken team to lead the continued development of GitLens for VS Code users, transitioning his GitLens involvement from a passion project on nights and weekends, to a full-time focus. With GitKraken, GitLens has the full support and resources of a leading software company that specializes in Git collaboration and productivity solutions for development teams.

Find out more about GitLens and GitKraken joining forces and visit our FAQs page.

Read the reviews to see what people are saying about GitLens. Below is our favorite review. 😁