修改Git大量文件权限后SourceTree无响应无法启动,如何恢复?
解决SourceTree无法启动的问题
遇到这种情况我太熟悉了——大量文件权限变更导致Git索引异常,进而让SourceTree的缓存炸了,重启也救不了。试试下面的步骤,大概率能搞定:
1. 彻底清理SourceTree的缓存与状态
首先得把SourceTree残留的进程和缓存清干净:
- 打开活动监视器,找到SourceTree进程,右键选择「强制退出」,确保没有任何残留的SourceTree进程在后台跑。
- 打开终端,运行以下命令删除缓存和备份偏好设置(备份是为了避免丢失你的自定义配置):
# 删除SourceTree的缓存目录 rm -rf ~/Library/Caches/com.torusknot.SourceTreeNotMAS rm -rf ~/Library/Caches/com.torusknot.SourceTreeNotMAS.ShipIt # 备份并移除偏好设置文件 mv ~/Library/Preferences/com.torusknot.SourceTreeNotMAS.plist ~/Library/Preferences/com.torusknot.SourceTreeNotMAS.plist.bak
2. 修复出问题的Git仓库
根源还是你修改大量文件权限导致的Git索引异常,得先把仓库的状态理清楚:
- 打开终端,切换到出问题的Git仓库目录:
cd /path/to/your/git/repository - 运行以下命令,让Git不再跟踪文件权限变更(避免以后再踩坑),同时重置仓库索引:
# 关闭Git对文件权限的跟踪 git config core.fileMode false # 重置仓库到最新提交状态,清除所有未暂存变更 git reset --hard HEAD
3. 重新启动SourceTree
现在尝试重新打开SourceTree,应该能正常启动了。如果还是不行,那就卸载后重装:
- 把Applications文件夹里的SourceTree拖到废纸篓,然后去官网下载最新版本安装即可。
内容的提问来源于stack exchange,提问作者Smee
相关产品推荐
相关产品推荐

