问题描述
我有一个在Windows PC上工作的环境,我的工作区在一个可以通过ssh访问的远程linux服务器上。我正在处理Dos Batch文件,以自动比较工作区中的所有修改过的文件。到目前为止,我有一些东西可以打开所有文件,但是由于某种原因,它会在一个单独的会话中打开每个文件,这在Windows之间切换很麻烦。我想知道是否有任何技巧可以在同一会话中使用不同的选项卡打开所有文件。目前,我的脚本如下:
plink ott-ads -l %user% -i %ppk_file% ^
"cd %root%; for f in %files%; do git show %commitid%:$f > $f.gitupstream; done; echo $files | tr ' ' '\n' | dospath > files.dos.gitupstream;"
for /F "tokens=*" %%A in (%dosroot%\files.dos.gitupstream) do echo "C:\Program Files\Beyond Compare 4\BCompare.exe %%A.gitupstream %%A" & START /B "C:\Program Files\Beyond Compare 4\BCompare.exe" %%A.gitupstream %%A
(其中%files%
是要比较的文件的预填充列表,%commitid%
是我要比较的提交,dospath
是一个简单的脚本,可将linux路径转换为一个dos一个)
This link似乎建议使用脚本“与BC4同步”,但并不建议如何执行此操作。任何想法都将受到欢迎。 (注意:使用“超越比较4”和Windows 10)
解决方法
有3种解决方法:
-
如果git存储库位于Windows计算机上,configure Beyond Compare as an external difftool,然后运行
git difftool --dir-diff
以在“文件夹比较”中启动差异。 -
如果可以在远程计算机上安装Beyond Compare for Linux,另一种选择是将Beyond Compare配置为该计算机上git的差异工具,请在Windows计算机上使用X-Window客户端进行{{3 }},然后运行
git difftool --dir-diff
。 -
将要在Linux机器上进行比较的修订导出到文件夹,然后使用Beyond Compare 4 Pro的内置SFTP支持将Windows机器上的Folder Compare中的两个文件夹加载。
bcompare.exe sftp://user@server/1 sftp://user@server/2