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

GitCanvas

Mohammad Joynul Abedin

|
4 installs
| (0) | Free
A visual Git client dashboard for VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GitCanvas

GitCanvas is a visual Git dashboard for VS Code. It turns repository status, branch history, commit details, stashes, remotes, and common Git actions into one focused workspace.

Dashboard Preview

GitCanvas visual commit graph with branch lanes, commit details, changed files, and Git command actions

Use it when you want quick answers to questions like:

  • What changed in my working tree?
  • Which commits are on this branch?
  • How are my local and remote branches related?
  • What files changed in a selected commit?
  • Can I create, checkout, stash, commit, pull, or push without leaving VS Code?
  • Is a destructive Git action protected by a safety prompt?

Highlights

  • Visual commit graph with branch lanes, merge connectors, branch labels, zoom controls, and current-branch centering.
  • Changes dashboard for staged, modified, deleted, and untracked files.
  • Inline diff previews for working tree files, commits, and stashes.
  • Commit list with search by message, author, or hash.
  • Commit inspector with changed files, metadata, branch labels, and actions such as cherry-pick, revert, branch, tag, checkout, copy SHA, and reset.
  • Branches view for local branches and remote branches in one place, with create and checkout actions.
  • Stash management with select, apply, pop, drop, preview diff, and restore-as-commit workflows.
  • Repository picker for multi-root VS Code workspaces.
  • Fetch, pull, and push controls in the dashboard toolbar.
  • GitHub Copilot-powered commit message generation when VS Code language models are available.
  • Safety prompts for risky operations, including clean-tree checks, automatic stashing, backup refs before supported history rewrites, and force-push with lease.

Core Views

Changes and Commit Writing

Review your working tree, stage or discard individual files, write a commit message, or generate one with Copilot.

GitCanvas changes view with commit message input, Copilot generation, modified files, stage controls, and diff preview

Commit Search

Search the repository history and select a commit to inspect its metadata, branch labels, changed files, and available actions.

GitCanvas commits view with searchable commit history and selected commit row

Branches and Remotes

See the current branch, create new branches, checkout local branches, and inspect remote tracking branches without a separate remotes tab.

GitCanvas branches view showing local branches, remote branches, current branch state, and checkout actions

Stashes

Preview stash diffs, apply or pop a stash, drop old stash entries, or restore selected stash entries as commits.

GitCanvas stashes view with stash selection, apply pop drop actions, and a diff preview

Common Workflow

  1. Open a Git repository in VS Code.
  2. Click the GitCanvas icon in the VS Code Activity Bar, or run GitCanvas: Open.
  3. Select a repository from the picker if the workspace has more than one Git repo.
  4. Review the Changes tab, stage files, and write or generate a commit message.
  5. Use Graph, Commits, Branches, and Stashes to inspect history and manage branch work.
  6. Use Fetch, Pull, and Push from the toolbar when you are ready to sync.

Git Operations

Area What GitCanvas helps with
Working tree Stage, unstage, discard, inspect diffs, commit, amend, and stash changes.
History Search commits, inspect changed files, preview diffs, copy SHAs, tag commits, and create branches from commits.
Branches Create branches, checkout branches, see local branches, and see remote tracking branches.
Stashes Apply, pop, drop, preview, select, and restore stash entries as commits.
Remotes Fetch, pull, push, and view remote branches inside the Branches view.
Safety Guard checkout, reset, revert, cherry-pick, merge, drop, and force-push style workflows with prompts and backup behavior where supported.

Copilot Commit Messages

GitCanvas can ask VS Code's available language model provider to draft a commit message from the selected Git context. This is optional and only runs when you press Generate.

If no compatible Copilot or language model provider is available, you can still write and commit manually.

Safety and Git Behavior

GitCanvas runs Git through argument-array execution rather than shell-interpolated command strings. Branch names, refs, file paths, tags, and commit hashes are validated before they are passed into Git command entry points.

Destructive or history-changing workflows are guarded with repository-state checks. Supported reset and history rewrite paths create backup refs under refs/gitcanvas-backup/ before moving HEAD. Force pushes use --force-with-lease, not bare --force.

Branch parentage in the visual graph is inferred because Git does not store "created from branch" metadata directly. GitCanvas uses reflog hints, branch-name matching, and merge-base distance to produce a practical visual layout.

Privacy and Storage

GitCanvas is local-first.

  • It reads repository information through your local Git installation.
  • It does not require a hosted account or external GitCanvas service.
  • It does not write analytics files into your project.
  • Copilot commit generation may send selected diff and commit context to the VS Code language model provider only when you explicitly use the generation action.

Requirements

  • VS Code 1.92.0 or newer.
  • Git installed and available on your machine.
  • A Git repository opened in VS Code.
  • GitHub Copilot or another VS Code language model provider is optional and only needed for generated commit messages.

Commands

Command Purpose
GitCanvas: Open Opens the GitCanvas dashboard.
GitCanvas: Refresh Reloads repository status and history.
GitCanvas: Commit Commits staged changes from GitCanvas.
GitCanvas: Stage File Stages a file.
GitCanvas: Unstage File Unstages a file.
GitCanvas: Discard File Discards a file change after confirmation.
GitCanvas: Create Branch Creates a new branch.
GitCanvas: Checkout Branch Checks out a branch with safety handling.
GitCanvas: Fetch Fetches from the configured remote.
GitCanvas: Pull Pulls the current branch.
GitCanvas: Push Pushes the current branch.

Getting Started

  1. Install GitCanvas.
  2. Open a folder that contains a Git repository.
  3. Click the GitCanvas icon in the VS Code Activity Bar, or run GitCanvas: Open from the Command Palette.
  4. Use the dashboard tabs to move between Changes, Graph, Commits, Branches, and Stashes.

Support and Contact

GitCanvas is developed and maintained by Mohammad Joynul Abedin (Shokal).

  • Report a bug or request a feature: joynulabedin.dev@gmail.com
  • Developer profile: Joynul-Abedin on GitHub
  • VS Code Marketplace: GitCanvas
  • Open VSX Registry: GitCanvas
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft