SourceTree 卡死的情况比较常见,特别是在处理大仓库或有大量分支时。可以尝试以下方法来优化它的性能或解决问题:
1. 更新 SourceTree
确保你使用的是 最新版本,因为 Atlassian 会定期修复性能问题和 Bug。
2. 降低仓库大小和复杂度
- 清理 Git 仓库:执行
git gc --prune=now清理无用数据。 - 减少分支数量:太多的分支可能会拖慢 SourceTree,可以删除长期不用的分支。
- 禁用 LFS(如果没有使用):LFS 可能导致性能下降,执行
git lfs uninstall关闭它。
3. 禁用 SourceTree 内部 Git,使用系统 Git
SourceTree 自带的 Git 可能比系统 Git 旧,影响性能。
-
在 macOS:
- 打开 SourceTree,进入 Preferences(偏好设置) > Git。
- 选择 Use System Git(使用系统 Git)。
- 如果没有安装,可以用
brew install git安装最新 Git。
-
在 Windows:
- 在 SourceTree 设置中,选择 Use System Git。
- 如果系统 Git 版本较旧,可以去 Git 官网 下载最新版。
4. 关闭不必要的 UI 选项
-
关闭"自动刷新":
- Windows 版:
工具>选项>Git,取消勾选刷新时自动检测远程分支的变更。 - macOS 版:
Preferences>General,关闭Automatically refresh remote status。
- Windows 版:
-
禁用文件状态的 "自动检测":
- Windows 版:
工具>选项>Git,勾选显示未跟踪文件时仅限于已加入索引的文件。 - macOS 版:
Preferences>Git,选择Show only tracked files。
- Windows 版:
5. 清理 SourceTree 缓存
SourceTree 有时会因为缓存太多导致卡顿,可以尝试清理。
Windows
- 关闭 SourceTree。
- 删除缓存文件:
del "%LocalAppData%\Atlassian\SourceTree\*.*" /s /q - 重新启动 SourceTree。
macOS
- 关闭 SourceTree。
- 运行以下命令清除缓存:
rm -rf ~/Library/Application\ Support/SourceTree - 重新打开 SourceTree。
6. 直接用命令行 Git
如果 SourceTree 依然很卡,可以尝试直接用命令行操作 Git,比如:
git status
git pull origin main
git checkout feature-branch
git merge main
命令行比 GUI 快很多,而且不会卡死。
7. 使用其他 Git 客户端
如果 SourceTree 仍然无法流畅使用,可以尝试其他 Git 客户端,比如:
- Fork(付费但体验不错)
- GitKraken(需要注册,但 UI 友好)
- Tower(付费,macOS 体验较好)
这些 Git 客户端在性能上通常比 SourceTree 更稳定。
如果问题仍然存在,我还有绝招:换电脑😄