Sourcetree查看.rc文件Git历史提示URL格式不支持如何解决?
解决Sourcetree查看.rc文件Git历史时的"不支持的URL格式"错误
问题现象
使用Sourcetree查看.babelrc或其他.rc后缀文件的Git历史时,弹出错误提示:
"Sourcetree determined this URL is in an unsupported format"
但通过Git命令行执行git log -p -- .babelrc可以正常查看文件历史,输出示例:
qiulang@qiulangdeMacBook-Air jssipwrap % git log -p -- .babelrc commit a428050a4b563de019d23751b3988a02525096ca (HEAD -> master, origin/master, origin/HEAD) Author: qiulang2000 <qiulang2000@126.com> Date: Fri Feb 24 16:20:08 2023 +0800 ...
原因分析
Sourcetree会根据文件后缀自动关联文件类型,.rc后缀被误识别为需要解析URL的特殊文件(比如Windows资源脚本文件),导致解析Git历史时触发格式错误。而Git命令行不做这类文件类型关联,仅以纯文本方式处理,因此不受影响。
解决方案
1. 修改Sourcetree文件类型关联设置
- Mac: 打开Sourcetree,点击顶部菜单栏
Sourcetree > 偏好设置,切换到文件视图选项卡 - Windows: 打开Sourcetree,点击
工具 > 选项,找到文件类型相关设置 - 在文件类型列表中找到
.rc后缀的条目,将其关联类型改为文本文件,或直接指定常用的文本编辑器(如VS Code、Sublime Text),保存设置后重启Sourcetree。
2. 命令行临时导出历史查看
如果需要快速查看历史,可通过Git命令将输出保存为文本文件:
git log -p -- .babelrc > babelrc_history.txt
直接用文本编辑器打开生成的babelrc_history.txt即可查看完整的变更历史。
3. 重置Sourcetree文件类型缓存
- 完全关闭Sourcetree
- 找到缓存目录:
- Mac:
~/Library/Application Support/SourceTree/ - Windows:
%APPDATA%\Atlassian\SourceTree\
- Mac:
- 备份该目录后,删除其中与文件类型关联相关的缓存文件(如
filetypes.json),或直接清空目录 - 重启Sourcetree,软件会重新生成默认的文件类型配置。
4. 升级或重装Sourcetree
该问题可能是特定版本的bug,下载最新版Sourcetree覆盖安装或卸载后重装(注意备份本地仓库列表),新版本通常会修复这类文件类型识别问题。
内容的提问来源于stack exchange,提问作者Qiulang
相关产品推荐
相关产品推荐

