SourceTree中Allspice.io Diff工具无法自动打开.PcbDoc文件问题咨询
解决SourceTree无法自动用Allspice Diff打开.PcbDoc文件的问题
问题分析
命令行能正常diff .PcbDoc文件,但SourceTree必须手动点「External diff」才生效,说明Git本身配置没问题,问题出在SourceTree对diff工具的调用逻辑或内部配置上。
解决方案
1. 修正.gitconfig中的命令格式
Windows环境下,diff "allspice"的command路径不需要单引号,改成双引号包裹避免解析错误;同时补全SourceTree的difftool配置,明确指定调用Allspice工具:
[user] email = user@gmail.com name = User Name [diff "allspice"] command = "C:/Users/MariaSenyer/AppData/Local/Programs/allspice/resources/bin/diff.sh" [difftool "allspice"] cmd = "C:/Users/MariaSenyer/AppData/Local/Programs/allspice/resources/bin/diff.sh" "$LOCAL" "$REMOTE" [difftool] prompt = false [difftool "sourcetree"] cmd = "C:/Users/MariaSenyer/AppData/Local/Programs/allspice/resources/bin/diff.sh" "$LOCAL" "$REMOTE" [mergetool "sourcetree"] cmd = "'' " trustExitCode = true
2. 调整SourceTree全局Diff工具设置
- 打开SourceTree,点击顶部「工具」→「选项」→「Diff」标签页
- 在「外部Diff工具」下拉菜单选择「Git默认」,确保SourceTree遵循.gitconfig配置,而非使用内置diff工具
- 确认「文件比较」区域没有单独为
.PcbDoc/.pcbdoc设置其他工具
3. 配置SourceTree文件类型关联
- 进入「选项」→「文件类型」标签页
- 找到
.PcbDoc(注意大小写),点击「编辑」,在「比较工具」下拉菜单选择「使用Git配置」 - 重复操作确保
.pcbdoc也配置相同规则
4. 刷新仓库缓存
- 右键点击SourceTree中的目标仓库,选择「刷新」
- 或关闭SourceTree,删除仓库根目录下的
.sourcetree文件夹(建议先备份),重新打开加载仓库
5. 验证效果
修改一个.PcbDoc文件并提交,查看版本差异时,SourceTree应自动调用Allspice Diff显示图形化差异,无需手动点击「External diff」。
内容的提问来源于stack exchange,提问作者MS_
相关产品推荐
相关产品推荐

