截至目前(2017年9月7日),手动将rsync支持添加到Git for Windows环境非常容易,而无需诉诸运行Git for Windows SDK。
我偶然发现了这篇文章,但考虑到所有其他选择,它真的不那么容易,但是确实如此。您需要做的就是从MSYS2软件包存储库中获取rsync软件包并将rsync.exe
文件提取到中C:\Program Files\Git\usr\bin
。一完成。有用。
如果您需要rsync.exe
从rsync包(tar.xz
格式)中提取帮助,则可以使用7zip之类的压缩实用程序,也可以直接在Git for Windows bash环境中使用它,如下所示:
cd /c/downloaded_location
tar -xvf rsync.pkg.tar.xz usr/bin/rsync.exe --strip-components=2
这样就可以rsync.exe
在下载位置找到文件(相应地调整软件包名称)。鉴于Windows权限问题,我不会尝试提供有关将exe放入C:\Program Files\Git\usr\bin
文件夹的特定命令。您可以通过资源管理器GUI或通过提升的命令行实用程序来复制它(是的,它需要管理员级别的权限才能将某些内容复制到Program Files文件夹中)。
如果您还希望通过ssh在rsync上使用Pageant身份验证,则ssh-pageant二进制文件已安装在Windows的Git中,而您需要做的就是在您的~/.bashrc
或~/.bash_profile
文件中添加一点点(请参见ssh-pageant的用法部分和Git的说明)。 Windows Wiki)。我专门针对Windows Git环境进行了修改,并通过检测到丢失的套接字文件对它进行了增强:
# ssh-pageant allows use of the PuTTY authentication agent (Pageant)
SSH_PAGEANT="$(command -v ssh-pageant)"
if [ -S "$SSH_AUTH_SOCK" ]; then
PAGEANT_SOCK=$SSH_AUTH_SOCK
else
PAGEANT_SOCK=${TEMP:-/tmp}/.ssh-pageant-$USERNAME
fi
if [ -x "$SSH_PAGEANT" ]; then
eval $("$SSH_PAGEANT" -qra "$PAGEANT_SOCK")
fi
unset SSH_PAGEANT
unset PAGEANT_SOCK
通过这种方式手动安装它们,我无法说明其他实用程序如何工作或无法工作,但是rsync似乎可以正常工作。希望该回购协议将继续存在并继续进行更新-我想是这样,因为它是在MSYS2官方站点上托管的。