SourceTree无法显示Gemfile.lock文件差异的问题求助
解决SourceTree无法显示Gemfile.lock差异的问题
问题场景
在SourceTree文件历史中选择修订版本时,Gemfile.lock无法显示差异,提示:
Diff was suppressed because of file size or pattern
已知信息
- SourceTree「Diff」偏好设置:文本大小限制已设为524,288 KB,可视化Diff工具为FileMerge
- Gemfile.lock文件大小仅17.8KB(
wc命令输出:705行、1878词、17894字节) - 命令行执行
git diff a9e35bd1d..661d3b263可正常查看该文件差异 file命令识别该文件为ASCII文本
解决方案
检查并移除Diff忽略规则
打开SourceTree偏好设置 → 「Diff」标签页,查看「Diff patterns to ignore」列表,若存在Gemfile.lock或.lock相关规则,直接移除。清理SourceTree缓存
关闭SourceTree,删除对应路径下的缓存文件后重启:- macOS:删除
~/Library/Application Support/SourceTree目录 - Windows:删除
%APPDATA%\Atlassian\SourceTree目录
- macOS:删除
切换Diff工具测试
暂时将可视化Diff工具切换为SourceTree内置工具,若能正常显示差异,再排查FileMerge问题:- 验证FileMerge能否正常打开其他文本文件的差异
- 重置SourceTree中FileMerge的命令参数为默认配置
强制设置文件类型为文本
在SourceTree中右键点击Gemfile.lock → 「File Settings」,将文件类型指定为「Text」,强制按文本格式解析差异。更新SourceTree至最新版本
旧版本可能存在文件类型解析bug,更新到官方最新版后重试。
内容的提问来源于stack exchange,提问作者Marlin Pierce
相关产品推荐
相关产品推荐

