如何在 Mac 上卸载 GitAhead
先保存未提交修改,记下仓库位置,再退出 GitAhead。本篇以 Mac 下载版为主,Homebrew 渠道在下文单列。
退出并移除 App
保留仓库和 Git 凭据,记录中的偏好文件卸后仍在,要单独检查,不能假定设置全部消失。
从 GitAhead 的退出入口关闭 App。打开系统设置 › 通用 › 登录项与扩展,如果有属于 GitAhead 的登录项,关闭它。完成备份后,在访达把 /Applications/GitAhead.app 移到废纸篓,先留着废纸篓,确认需要的数据已保存。
项目说明。
检查本地数据
在访达按 Shift + Command + G,逐条打开完整路径,先把要留的内容复制到其他目录,再决定是否把这一项移到废纸篓。下面包含实测记录和当前 Homebrew cask 的目标,某个路径不存在时不用创建它,带 * 的条目是匹配范围,需要逐个检查实际文件,不是一个字面文件名。
| 位置 | 内容与处理 |
|---|---|
~/Library/Preferences/com.gitahead.GitAhead.plist |
偏好设置,要恢复设置时保留 |
~/Library/Application Support/GitAhead |
本地数据或设置,先备份,再决定是否移走 |
~/Library/Saved Application State/com.gitahead.GitAhead.savedState |
窗口恢复状态,不再需要时可移走 |
用 Homebrew 安装时
先卸载而不执行 zap。
brew uninstall --cask gitahead
这条命令移除 cask 管理的 App,不会执行上面的 zap 数据清单。
直接执行下面的命令会按 cask 的整个 zap 清单删除数据,不会读取 Mole 的勾选状态。只有备份并确认这些目标都可以移除时才用。
brew uninstall --cask --zap gitahead
当前 zap 目标为 ~/Library/Application Support/GitAhead、~/Library/Preferences/com.gitahead.GitAhead.plist、~/Library/Saved Application State/com.gitahead.GitAhead.savedState。
zap 会移走以上目标,包括其中的设置或用户数据,要保留任一项时使用不带 zap 的命令。当前 cask。
检查结果
ls -ld '/Applications/GitAhead.app'
pgrep -ifl '/Applications/GitAhead[.]app/'
列出 App 路径表示本体仍在,No such file or directory 表示这个路径不在,Permission denied 则没有完成检查。此命令只检查本体所在位置,不证明其他位置没有副本、后台服务或用户数据。
pgrep 列出结果表示仍有命令行匹配这个 App 路径的进程,没有输出只表示没有这种匹配,不能证明独立助手或其他安装副本都已退出,报错时这一步未确认。
Mole 会列出什么
~/Library/Preferences/com.gitahead.GitAhead.plist默认勾选。
这些默认状态以关闭「卸载时一并移除数据和配置」为准,这个选项默认关闭,开启后会勾选符合条件的待确认 App 数据,共享数据和受保护项目仍按原有边界单独确认。Mole 只有在整个 zap 范围通过检查时才会调用 Homebrew zap,未勾选项、共享路径、超出审查范围的路径或无法支持的指令都会阻止 zap,已选残留仍走 Mole 自己的删除流程。
这次检查覆盖了什么
卸载使用源码构建的 Mole,首启扫描只覆盖部分路径,不证明应用可能生成的全部文件。
只进入主题选择界面,没有修改设置或打开仓库,App 移走,但偏好文件卸后仍在。
