Sourcetree拉取Git/GitHub仓库卡住问题排查求助
Sourcetree拉取(Pull)卡住但实际已完成的排查方案
可能原因
- Sourcetree UI进程与Git命令进程同步异常:Git核心拉取操作已完成,但界面未收到结束信号,导致进度条持续动画。
- Sourcetree本地缓存或配置损坏:拉取状态缓存出错,无法触发界面状态更新。
- Git钩子脚本未正常终止:仓库的
post-pull等钩子脚本后台阻塞运行,Sourcetree等待钩子执行完成。 - Sourcetree与Git版本不兼容:当前Sourcetree版本和本地Git版本存在适配问题,导致流程卡住。
排查步骤
- 强制重启Sourcetree:打开任务管理器(Windows)或活动监视器(Mac),结束Sourcetree进程后重新启动,再次尝试拉取操作。
- 清除Sourcetree缓存:
- Windows:找到路径
%LOCALAPPDATA%\Atlassian\SourceTree,删除cache和LocalStorage文件夹; - Mac:打开Finder,按
Cmd+Shift+G输入~/Library/Application Support/SourceTree,删除Cache和LocalStorage文件夹。
重启Sourcetree后测试拉取。
- Windows:找到路径
- 检查并临时禁用Git钩子:进入仓库的
.git/hooks目录,将post-pull等与拉取相关的钩子脚本重命名(如添加.bak后缀),再用Sourcetree执行pull。若恢复正常,说明钩子脚本存在阻塞逻辑,需排查脚本内容。 - 调整Git版本设置:打开Sourcetree偏好设置→Git,查看当前使用的Git版本。若为内置Git,切换到系统安装的稳定版Git;若已用系统Git,尝试更新Git至最新LTS版本或回退到兼容版本后测试。
- 重置Sourcetree用户配置:
- Windows:删除
%APPDATA%\Atlassian\SourceTree\SourceTree.settings文件; - Mac:删除
~/Library/Preferences/com.atlassian.SourceTree.plist文件。
重启后重新配置账户和仓库,测试拉取。
- Windows:删除
- 重装Sourcetree:若上述方法均无效,卸载当前版本,下载官方最新稳定版重装(注意备份必要的仓库配置)。
内容的提问来源于stack exchange,提问作者ilozen
相关产品推荐
相关产品推荐

