如何在 Windows 上卸载 GitHub Desktop
移除 GitHub Desktop 不会动你的仓库:克隆下来的项目存放在磁盘上你自己选的位置,和应用本身是独立的,只有在应用里从仓库列表移除某个仓库时明确勾选「同时删除本地文件夹」,GitHub Desktop 才会删除它。先把还没推送的提交推送上去,要删掉的是应用本身,不是你的工作成果。这份指南覆盖用 GitHub.GitHubDesktop winget 包按用户安装的 GitHub Desktop,官网直接下载安装的方式相同。
检查仓库和登录状态
打开 GitHub Desktop,把重要仓库里未推送的提交推送掉或记下来,确认当前登录的是哪个账号。本地克隆的仓库就是磁盘上的普通文件夹,移除应用不会改变它们的任何东西。
退出 GitHub Desktop 并移除应用
退出 GitHub Desktop,打开「设置 › 应用 › 已安装的应用」,找到 GitHub Desktop,选择卸载,或者运行:
winget uninstall --id GitHub.GitHubDesktop
GitHub Desktop 的文件放在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%LOCALAPPDATA%\GitHubDesktop |
应用本身和它的 Squirrel 更新包 | 卸载器会删掉 |
%APPDATA%\GitHub Desktop |
设置和你添加过的仓库列表 | 卸载器会删掉;只有想留个仓库列表的记录才需要先备份 |
| 桌面和开始菜单的快捷方式 | 启动图标 | 卸载器会删掉 |
你的登录令牌由 Windows 自己保管,和上面这些文件是分开的,移除应用或这些文件夹都不会动它。
检查结果
卸载完成后运行下面几条只读命令:
Get-Process GitHubDesktop -ErrorAction SilentlyContinue
winget list --id GitHub.GitHubDesktop
Test-Path "$env:LOCALAPPDATA\GitHubDesktop"
Test-Path "$env:APPDATA\GitHub Desktop"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。 Test-Path "$env:APPDATA\GitHub Desktop"返回True,说明设置和仓库列表还在。
移除单个仓库
想停止追踪某个仓库但不动它的文件,在 GitHub Desktop 的仓库列表里选中它,用「File › Remove」。GitHub Desktop 提供一个单独的选项同时把本地文件夹从磁盘删除,默认不勾选;只有明确选择删除才会真正删除文件,之后卸载应用,或者从列表里移除某个仓库,克隆下来的文件都原封不动留在原处。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 Squirrel 卸载器,删的是同一批程序文件,它不会主动动你的登录状态。
Mole 会列出什么
对按用户安装的 winget 版 GitHub Desktop:
- 程序目录、桌面和开始菜单快捷方式默认勾选。
- 存着仓库列表和设置的
%APPDATA%\GitHub Desktop会列出,但默认不勾选;里面的缓存(Cache、Code Cache、GPUCache、日志)单独列出并默认勾选。 - 仓库在你克隆到的位置,不在这张表里。
这次检查覆盖了什么
测试于 2026 年 9 月 26 日,GitHub Desktop 版本 3.6.6,通过 winget 按用户范围安装。全选后每一行都被移除,没有留下东西。没有测试:删除仓库本地文件夹的选项,以及登录凭据的移除。
