在 Mac 上卸载 GitHub Desktop
移除 GitHub Desktop 不会动你的仓库:克隆下来的项目存放在磁盘上你自己选的位置,和应用本身是独立的,只有在应用里从仓库列表移除某个仓库时明确勾选「同时删除本地文件夹」,GitHub Desktop 才会删除它。先推送好未提交的改动,因为要删掉的是应用本身,不是你的工作成果。这份指南覆盖官网直接下载和 Homebrew cask github,两者安装的是同一个应用。
检查仓库和登录状态
打开 GitHub Desktop,把重要仓库里未推送的提交推送掉或记下来,确认当前登录的是哪个账号。本地克隆的仓库就是磁盘上的普通文件夹,移除应用不会改变它们的任何东西。
退出 GitHub Desktop 并移除应用
从应用菜单退出 GitHub Desktop。打开 Finder,进入「应用程序」,右键点击 GitHub Desktop 选择「移到废纸篓」,再清空废纸篓。这和 GitHub 官方的卸载步骤一致,就是移到废纸篓加清空废纸篓,没有其他要求。
GitHub Desktop 的文件放在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
~/Library/Application Support/com.github.GitHubClient、~/Library/Application Support/GitHub Desktop |
应用数据和设置 | 可以删除 |
~/Library/Application Support/com.github.GitHubClient.ShipIt、~/Library/Caches/com.github.GitHubClient.ShipIt |
更新助手状态 | 可以删除 |
~/Library/Application Support/ShipIt_stderr.log、~/Library/Application Support/ShipIt_stdout.log |
更新器的日志文件,直接放在 Application Support 根目录,不在某个应用专属子文件夹里 | 可以删除 |
~/Library/Caches/com.github.GitHubClient |
可重新生成的缓存 | 可以删除 |
~/Library/Preferences/com.github.GitHubClient.plist、~/Library/Preferences/com.github.GitHubClient.helper.plist |
应用偏好设置 | 可以删除 |
~/Library/Saved Application State/com.github.GitHubClient.savedState |
保存的窗口状态 | 可以删除 |
~/Library/Logs/GitHub Desktop |
应用日志 | 可以删除 |
你的登录令牌存放在 macOS 钥匙串里,不在上面任何一个文件中;Mole 从不读取或删除钥匙串里的任何内容,移除应用也不会让你在别处退出 GitHub 登录。~/.config/git 不属于 GitHub Desktop:只有在完全为空时应用才会删除它,因为其他 Git 安装和工具也共用这个目录,即使在应用的卸载数据里看到它被提到,也不要碰它。
检查结果
在终端运行下面这些只读命令:
pgrep -il "github desktop"
launchctl list | grep -i com.github.GitHubClient
command -v github
pgrep 没有输出,说明 GitHub Desktop 已经退出。launchctl list 没有输出,说明当前会话没有加载 GitHub Desktop 的任务;列出 ShipIt 条目但没有对应文件,是一条无害的历史记录,不是在运行的进程。command -v github 检查下面说的 github 命令行工具;没有输出说明它不在你的 PATH 里。
github 命令行工具
Homebrew cask 会把 GitHub Desktop 内置的 github.sh 脚本作为 github 命令加进 PATH,这是应用自带的便捷脚本,和 GitHub 自己的 gh 命令行工具是两回事。卸载 cask 时 Homebrew 会自动移除它。如果是官网直接下载安装的,除非自己手动链接过,否则这个命令本来就不在 PATH 里,两种情况都没有需要额外清理的东西。
移除单个仓库
想停止追踪某个仓库但不动它的文件,在 GitHub Desktop 的仓库列表里选中它,用「File › Remove」。GitHub Desktop 提供一个单独的选项同时把本地文件夹从磁盘删除,默认不勾选;只有明确选择删除才会真正删除文件,之后卸载应用,或者从列表里移除某个仓库,克隆下来的文件都原封不动留在原处。卸载 GitHub Desktop
用 Homebrew 安装时
下一次 Mole 更新会先检查 zap 清单,涉及未勾选的数据、其他应用共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。Preview 290 尚未包含这项保护。
github 这个 cask 没有 uninstall quit: 配置,所以 brew uninstall --cask 不会替你退出 GitHub Desktop,需要自己先退出。Mole Preview 290 移除 Homebrew 安装的 GitHub Desktop 时执行 brew uninstall --cask --zap github,zap 清单覆盖上表里的每一项(两个 Application Support 文件夹、ShipIt 助手和它的两个日志文件、缓存、偏好设置和保存的窗口状态),不管你在 Mole 里勾选了什么,这些都会被删除。它不包含 ~/.config/git,cask 只有在这个目录已经为空时才会删除它。跳过 zap 可以只删应用、保留其余内容:
brew uninstall --cask github
Homebrew 的 GitHub Desktop cask
Mole 会列出什么
以下是 Mole 1.15(目前为 Preview)的处理:
~/Library/Application Support/com.github.GitHubClient、ShipIt 助手文件夹、缓存、偏好设置和保存的窗口状态都会列出并默认勾选(Mole 把它们当作这个应用自己的数据处理)。~/Library/Application Support/GitHub Desktop也会列出,但默认不勾选:Mole 把应用同名的 Application Support 文件夹当作用户数据,留给你自己确认。- 不管克隆到哪里,你的仓库从不会被列出:Mole 的卸载扫描只涉及应用自己拥有的 Library 位置,不涉及任意的项目文件夹。
- 钥匙串里的登录令牌从不会被列出或触碰;不管是哪个应用,
Library/Keychains在 Mole 里都受保护。
这次检查覆盖了什么
GitHub Desktop 是通过 Homebrew 安装的,2026 年 9 月 17 日作为 8 个应用一批测试的一部分,用 Mole 的开发构建移除。GitHub Desktop 自己那一行显示 ShipIt 助手、偏好设置和共享文件列表记录全部移除,没有发现新的叶子类型。这次测试没有验证删除仓库本地文件夹的选项、登录令牌的移除,也没有测到 github 命令行工具;官网直接下载版也没有在这次测试中卸载。
