How to uninstall Git on Windows
Git for Windows is the git command line tool plus Git Bash and a handful of helper programs; it holds none of your repositories itself. Cloned projects live wherever you put them on disk and keep working as plain folders whether or not Git is installed. Back up %USERPROFILE%\.gitconfig first if you have aliases, a signing key path or other settings you would not want to re-type. This guide covers the official Git for Windows installer, in either its per-user or machine-wide install choice.
Close anything using Git first
Git itself keeps no background process or tray icon; it only runs while a command is active. Close any terminal, IDE Git integration, or GUI client (Git Bash, GitHub Desktop, and similar) that has a Git operation in progress before you uninstall.
Remove the app with its own uninstaller
Go to Settings › Apps › Installed apps, find Git, and choose Uninstall, or run:
winget uninstall --id Git.Git
A per-user install removes without asking for administrator access; a machine-wide install does. Git for Windows
Where the data lives
| Location | What it holds | What to do |
|---|---|---|
%USERPROFILE%\.gitconfig |
Your name, email, aliases and any other global settings (Git's own config file list) | Keep it unless you are starting fresh; it is plain text and easy to read |
The install folder's own etc\gitconfig (under %ProgramFiles%\Git for a machine-wide install, or the per-user install folder) |
System-wide defaults Git for Windows ships with, not anything you added yourself | Removed with the app |
Windows Credential Manager, entries starting with git: |
Saved sign-in credentials for services like GitHub, if you used Git Credential Manager over HTTPS | Review separately in Credential Manager (Control Panel); uninstalling Git does not touch these |
| Any repository folder on disk | Your actual project history | Never touched by uninstalling Git itself |
Check the result
These read-only commands work whether or not you have uninstalled Git yet:
Get-Process git,git-bash -ErrorAction SilentlyContinue
winget list --id Git.Git
Test-Path "$env:ProgramFiles\Git"
Test-Path "$env:LOCALAPPDATA\Programs\Git"
git --version
- No output from
Get-Processonly means this query observed no matching process; a suppressed error leaves the running state unknown. - A completed
winget listquery with no match means the package record is gone; a matching row means Git is still installed. - The two
Test-Pathlines cover a machine-wide and a per-user install;Trueon either means Git's program files are still there. git --versionprinting a version meansgitis still on your PATH; an error means that invocation failed and does not prove every Git installation was removed.
If you installed it with winget
winget uninstall runs the same uninstaller Settings › Apps uses and removes the same program files; it does not touch %USERPROFILE%\.gitconfig or your saved credentials on its own.
What Mole lists
Mole was used here only to check Git's install size and confirm it keeps no background process and no startup entry; an uninstall review, the kind that lists each leftover row with its default tick, was not run against this install. Nothing in this section describes what such a review would show for Git.
What this test covered
Git for Windows 2.55.0.3 was inspected, not uninstalled, on 2026-09-25: its reported size was checked against what Windows Settings shows, and it was confirmed to run no background process and register no startup entry. The uninstall itself, and what Mole's uninstall review would list and select for it, were not tested.
