如何在WinSCP中自定义命令,用TortoiseMerge比较本地与远程文件?
用WinSCP自定义文件对比命令(替换为TortoiseMerge)
WinSCP支持通过自定义命令扩展功能,文件内容对比就是很实用的一个场景,这里分享下我自己的配置经验:
WinSCP内置的对比方案
WinSCP自带的文件对比命令是调用Windows原生的fc(文件比较)工具,命令如下:cmd /c fc "^!^" "!" | more && pause这个命令能完成基础的对比,但界面和体验都比较简陋,所以我换成了更顺手的工具。
推荐使用TortoiseMerge
我个人强烈推荐TortoiseSVN自带的TortoiseMerge,它是Windows平台上优秀的免费文本对比工具,不仅界面清晰直观,还支持启动时直接指定待对比的文件,用起来体验极佳。WinSCP中配置TortoiseMerge的自定义命令
把WinSCP的对比命令替换成TortoiseMerge的调用即可,假设你的TortoiseMerge安装在默认路径,命令如下(路径根据实际安装位置调整):"C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe" "^!^" "!"其中
^!^代表远程文件的本地临时副本,!代表本地文件,刚好对应TortoiseMerge需要的两个对比文件参数。额外拓展:git-bash中用TortoiseMerge实现git diff
除了WinSCP,我之前还在git-bash的配置文件(比如.bashrc或.bash_profile)里做过配置,让git diff也能调用TortoiseMerge,步骤如下:- 设置git默认的diff工具为tortoisemerge:
git config --global diff.tool tortoisemerge - 指定TortoiseMerge的路径和调用参数:
git config --global difftool.tortoisemerge.cmd "\"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" -mine \"$LOCAL\" -theirs \"$REMOTE\" -base \"$BASE\" -merged \"$MERGED\""
配置完成后,运行
git difftool就能用TortoiseMerge查看git仓库里的文件差异了。- 设置git默认的diff工具为tortoisemerge:
内容的提问来源于stack exchange,提问作者WesternGun
相关产品推荐
相关产品推荐

