如何在 Mac 上卸载 SourceGit
SourceGit 是一款开源的 Git 桌面图形客户端,用于可视化浏览分支图谱、提交历史、交互式变基与代码 Diff。卸载 SourceGit 仅移除该桌面端前端界面,完全不会修改或删除你的本地 Git 仓库、工作区代码、提交历史、.git 元数据、全局 Git 配置(~/.gitconfig)或 SSH 密钥(~/.ssh)。不过,已添加的仓库书签列表、分组标签和界面布局偏好均保存在应用支持目录中。如果希望保留这些已收藏的仓库列表,先复制 ~/Library/Application Support/SourceGit。本文覆盖来自 SourceGit 项目 的已公证 Mac 应用和 Homebrew cask sourcegit。
退出并移除应用
- 在 SourceGit 中按 Command + Q,或者选择菜单栏 SourceGit › Quit SourceGit。
- 打开访达,进入「应用程序」,将
SourceGit.app移到废纸篓。
核对本机数据
应用支持目录在本次测试安装中经过核实。窗口状态路径则来自 Homebrew cask 的声明。在访达按 Shift + Command + G 打开逐项核对。不存在的路径跳过即可。
| 位置 | 内容说明 | 处理建议 |
|---|---|---|
~/Library/Application Support/SourceGit |
仓库收藏列表、标签分组与界面配置 | 桌面应用数据,例如仓库列表。会列出供审查,在「卸载时一并移除数据和配置」关闭时不勾选。这里不是 Git 仓库。 |
~/Library/Saved Application State/com.sourcegit.app.savedState |
窗口状态保存 | cask 声明的保存状态。本次测试未发现该路径。 |
检查结果
pgrep -il SourceGit
ls -ld "/Applications/SourceGit.app" "$HOME/Library/Application Support/SourceGit" "$HOME/Library/Saved Application State/com.sourcegit.app.savedState"
pgrep没有输出,表示没有找到正在运行的 SourceGit 进程。pgrep有输出时,到活动监视器里看一眼,确认是否有同名残留进程。- 报错不能证明应用已经完全退出。
ls打印出路径,表示该路径仍留在磁盘上。No such file or directory表示该路径已被彻底清除。Permission denied表示当前用户权限无法读取对应路径。你的 Git 仓库请另行确认。
用 Homebrew 安装时
brew uninstall --cask sourcegit
cask 的 zap 清单包含 ~/Library/Application Support/SourceGit 和 ~/Library/Saved Application State/com.sourcegit.app.savedState。自己运行 brew uninstall --cask --zap sourcegit 会按整份清单删除,不读取 Mole 的勾选。它不会删除你的代码仓库。Mole 会先核对整份删除清单,碰到未勾选的数据、共享文件或无法确认的路径时跳过 --zap。你勾选的残留仍由 Mole 自己的删除流程清理。
Mole 会列出什么
~/Library/Application Support/SourceGit 会列出供审查,在设置 › 通用 › 清理里的「卸载时一并移除数据和配置」关闭时不勾选。你的代码仓库与 .git 目录完全不在该列表中。
以上默认状态以「卸载时一并移除数据和配置」关闭为前提,开启后也会勾选符合条件的待审查应用数据,共享存储和受保护数据仍保留单独审查或锁定。
这次检查覆盖了什么
2026 年 10 月 9 日,把 Homebrew cask 分发的已公证 arm64 包里的 SourceGit 2026.21 拷进「应用程序」,打开到空仓库页面后卸载。没有添加仓库。勾选之后,记录里的删除包括应用以及 ~/Library/Application Support/SourceGit。~/Library/Saved Application State/com.sourcegit.app.savedState 当时不存在。运行时 Status 有单独一行 SourceGit。没有发现新的登录项代理。没有打开 Mole 的更新页。本次测试不包含 brew install 安装收据。
