步骤一 安装cygwin

安装下载cygwin,同时cygwin中下载rsync,openssh

步骤二 配置Run Targets

新增ssh Target

配置用户名密码/publicKey(指定本地私钥位置)如 id_rsa文件

注意: idea版本不同可能只支持 publickey,密码方式会报错

步骤三 配置rsync

选择use rysnc

windows指定

rsync路径 C:\cygwin64\bin\rsync_idea.bat

ssh路径 C:\cygwin64\bin\ssh.exe

windows下同步linux可能出现 couldn‘t open file错误

原因:

windows同步的文件目录分隔符与linux不一致 \ 和 / 区别,导致同步过去的文件都被''单引号包裹

https://youtrack.jetbrains.com/issue/IJPL-62542/Remote-deployment-with-rsync-doesnt-preserve-folder-structure-uses-backslashes-in-file-names-from-Windows

修复:

新增脚本 rsync_idea.bat

@ECHO OFF
if exist "fileList.txt" C:\cygwin64\bin\sed.exe -i 's:\\:\/:g' fileList.txt
C:\cygwin64\bin\rsync.exe %*

实际解决:

idea版本不一样,对应的fileList可能也不一样,工作目录也不一样,具体观察日志

xxx替换为用户名,当前版本idea2021.3

@ECHO OFF
echo %*
C:\cygwin64\bin\sed.exe -i 's:\\:\/:g' /cygdrive/C/Users/xxx/AppData/Local/Temp/fileList1.txt

C:\cygwin64\bin\rsync.exe %*