Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>GitToolsNew to Visual Studio Code? Get it now.
GitTools

GitTools

DaniloFG

|
3 installs
| (0) | Free
Git with a visual interface: drag and click to merge, rebase and cherry-pick whole branches, commits, files or even single lines.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GitTools logo

GitTools

Git with a visual interface inside VS Code.
Drag and click to merge, rebase and cherry-pick whole branches, single commits, files — or even individual lines.

Marketplace version Installs License: MIT

GitTools inside VS Code: history graph, commit details and live git log

GitTools turns the git commands that are hard to remember — especially cherry-pick — into things you can simply drag and drop. It runs on the git that is already installed on your machine, needs no account and sends nothing anywhere.

Highlights

  • 🍒 Cherry-pick anything: a whole branch, chosen commits, specific files, or just the lines you select.
  • 🖱️ Drag & drop: drop a branch, commits or files onto another branch and pick what to do.
  • 🔀 Side-by-side conflict editor: current × result × incoming, block by block.
  • 🌳 History graph with colored branch lanes, search, tags and resizable columns.
  • 🧭 Better diffs: line selection, whole-file view, side-by-side mode, F7/F8 to jump between changes and files.
  • 📁 File list or folder tree everywhere, with +added −removed line counts.
  • 🧩 Arrange the workspace your way: drag tabs and panels to any side, like in VS Code.
  • 📜 Live git log: see every command GitTools runs, in real time.
  • 🌍 6 languages (English, Português, Español, 中文, हिन्दी, العربية) and a theme that follows VS Code.

Cherry-pick a whole branch

Drag a branch from the sidebar onto another one and choose Merge, Rebase or Cherry-pick every commit. Commits that were already applied are skipped automatically.

Dragging a branch onto main and cherry-picking all of its commits

Cherry-pick only some lines

Open a commit, click or drag over the lines you want and hit Apply lines to…. GitTools builds a partial patch with just those lines and applies it with git apply --3way — keep it staged for review, or commit it right away.

Selecting a few lines of a commit and applying only those to the current branch

Cherry-pick Studio

One place to pick commits, files or lines between any two branches: Whole branch, Commits, Files and Lines tabs.

Cherry-pick Studio with the Lines tab

Resolve conflicts side by side

When a cherry-pick, merge or rebase conflicts, open the conflict editor: choose current, incoming or both per block (or for the whole file), edit the result, and continue — all without leaving the panel.

Resolving a cherry-pick conflict in the side-by-side editor

Folder tree and diff navigation

Switch every file list between List (file name + folder) and Tree. In any diff, F7 / Shift+F7 jump to the next / previous change and F8 / Shift+F8 to the next / previous file.

Folder tree and jumping between changes with F7 and F8

Arrange the workspace

History, Changes, Files, Compare and the Git log are tabs you can drag to the left, right or bottom — or between panels — and the ⊞ button puts everything back.

Dragging the Changes tab to the right side and restoring the layout

Compare, blame and file history

Compare any two branches, tags or commits and bring over lines or whole files; see who changed every line with Blame; follow a file through renames in its history.

Compare Blame
Comparing two branches Blame for a file

Getting started

  1. Open a folder that is a git repository (or use GitTools: Open a repository…).
  2. Run GitTools: Open GitTools — Ctrl+Alt+G (⌘⌥G on macOS) — or click ⑂ GitTools in the status bar.
Command What it does
GitTools: Open GitTools Opens (or reveals) the GitTools panel.
GitTools: Open a repository… Picks another repository folder.
Open this folder in GitTools Explorer context menu on a folder.
Show this file's changes in GitTools Opens the diff of the current file in a panel beside it (editor title button).

Files that GitTools opens (Open in editor, file menus) open in VS Code's own editor, beside the panel.

Keyboard shortcuts (inside the panel)

Action Shortcut
History / Changes / Files / Compare Ctrl+1 … Ctrl+4
Search the history Ctrl+F
Cherry-pick Studio Ctrl+Shift+P
Next / previous change in a diff F7 / Shift+F7
Next / previous file in the list F8 / Shift+F8
Fetch / Pull / Push Ctrl+Shift+F / Ctrl+Shift+L / Ctrl+Shift+K
All shortcuts F1

Every shortcut can be changed in ⚙ Settings → Keyboard shortcuts.

Settings

Open ⚙ in the panel's top bar: language, theme, diff layout, notification position and size, your git identity (user.name / user.email, global or per repository) and remotes (add, rename, change URL, remove).

Requirements

  • Git 2.23 or newer on your PATH.
  • VS Code 1.90 or newer.

Privacy

Everything runs locally. GitTools only runs git commands on your machine; it has no telemetry, no account and no network calls of its own (git itself talks to your remotes when you fetch, pull, push or clone).

Links

  • 💻 Source code & issues: https://github.com/DaniloFG/GitTools
  • 🖥️ Also available as a standalone desktop app (Windows, macOS, Linux) from the same repository.

Released under the MIT License.

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