在 Mac 上卸载 GitHub Desktop
移除 GitHub Desktop 不会动你的仓库:克隆下来的项目存放在磁盘上你自己选的位置,和应用本身是独立的,只有在应用里从仓库列表移除某个仓库时明确勾选「同时删除本地文件夹」,GitHub Desktop 才会删除它。先确认仓库位置并保存未完成的工作,卸载 Git 客户端不要求把私人提交推送出去。这份指南覆盖官网直接下载和 Homebrew cask github,两者安装的是同一个应用。
检查仓库和登录状态
打开 GitHub Desktop,记下重要仓库里未推送的提交,确认当前登录的是哪个账号。本地克隆的仓库就是磁盘上的普通文件夹,移除应用不会改变它们的任何东西。
退出 GitHub Desktop 并移除应用
从应用菜单退出 GitHub Desktop,打开 Finder,进入「应用程序」,右键点击 GitHub Desktop 选择「移到废纸篓」,再到废纸篓里只永久删除已确认属于本次卸载的 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:github 这个 cask 的 zap 步骤只在它完全为空时才删,因为其他 Git 安装和工具也共用这个目录,不要碰它。
检查结果
在终端运行下面这些只读命令:
pgrep -il "github desktop"
launchctl list | grep -i com.github.GitHubClient
command -v github
检查正常完成且没有报错时,pgrep 没有输出只说明进程名称没有匹配 github desktop,经过筛选的 launchctl 检查没有输出,只说明当前用户会话没有列出匹配任务,两者都不能证明所有助手已停止,列出 ShipIt 任务时查看 PID 并确认可执行文件属于这份安装,对应文件不存在本身不能证明任务已停止。command -v github 检查下面说的 github 命令行工具,没有输出只表示当前 shell 在 PATH 中找不到它。
github 命令行工具
Homebrew cask 把 GitHub Desktop 内置的 github.sh 作为 github 命令加进 PATH,卸载时会移除它管理的链接,这个命令和 GitHub 的 gh 工具是两回事。官网版安装后自行加的链接可能仍在,运行 command -v github,用 Finder 或 ls -l 查看找到的那一项,只删除指向已移除的 GitHub Desktop.app/Contents/Resources/app/static/github.sh 的失效链接,保留其他命令和 gh。没有输出只表示当前 shell 找不到 github。
移除单个仓库
想停止追踪某个仓库但不动它的文件,在 GitHub Desktop 的仓库列表里选中它,用「File › Remove」。GitHub Desktop 提供一个单独的选项同时把本地文件夹从磁盘删除,默认不勾选;只有明确选择删除才会真正删除文件,之后卸载应用,或者从列表里移除某个仓库,克隆下来的文件都原封不动留在原处。卸载 GitHub Desktop
用 Homebrew 安装时
Mole 会先检查 zap 清单,涉及未勾选的数据、其他应用共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。
github 这个 cask 没有 uninstall quit: 配置,所以 brew uninstall --cask 不会替你退出 GitHub Desktop,需要自己先退出。自己执行 brew uninstall --cask --zap github 时,zap 清单覆盖上表里的每一项(两个 Application Support 文件夹、ShipIt 助手和它的两个日志文件、缓存、偏好设置和保存的窗口状态),不管你在 Mole 里勾选了什么,这些都会被删除。它不包含 ~/.config/git,cask 只有在这个目录已经为空时才会删除它。跳过 zap 会保留这些数据目录,普通卸载仍会移除 Homebrew 管理的应用和命令链接:
brew uninstall --cask github
Homebrew 的 GitHub Desktop cask
Mole 会列出什么
用 Mole 卸载时:
~/Library/Application Support/com.github.GitHubClient、ShipIt 助手文件夹、缓存、偏好设置和保存的窗口状态都会列出并默认勾选(Mole 把它们当作这个应用自己的数据处理)。默认关闭「卸载时一并移除数据和配置」时,~/Library/Application Support/GitHub Desktop会列出但不勾选,开启后符合条件的应用自有数据可能预先勾选,想保留就取消这一行的勾选。里面的 Chromium 缓存文件夹,比如Cache、Code Cache和GPUCache,是单独的行,默认勾选。- Mole 不会遍历你自行选择的项目目录来查找仓库,删除前仍需确认列出的应用数据目录里没有你另存的项目。
- 钥匙串里的登录令牌从不会被列出或触碰;不管是哪个应用,
Library/Keychains在 Mole 里都受保护。
这次检查覆盖了什么
GitHub Desktop 是通过 Homebrew 安装的,2026 年 9 月 17 日作为 8 个应用一批测试的一部分,用 Mole 的开发构建移除。GitHub Desktop 自己那一行显示 ShipIt 助手、偏好设置和共享文件列表记录全部移除,没有发现新的叶子类型。2026 年 9 月 26 日又从 GitHub 官网下载 3.6.6 重装,打开一次、不登录,再用 Mole 的开发构建全选卸载,17 项全部进了废纸篓,清单上的东西都没有留下。删除仓库本地文件夹的选项、登录令牌的移除和 github 命令行工具都没有测到。
