如何将文件的变更与FTP服务器上的文件同步?

如何将文件的变更与FTP服务器上的文件同步?

我的项目文件位于本地文件夹中目录: 相同的文件也在我的 FTP 服务器上。git 存储库仅存在于本地的 .git 目录中,以便进行跟踪。

我希望能够在本地编辑我的文件,并将更改反映在服务器上。

要求

  • 服务器上的任何新文件都将被复制到本地目录中
  • 对本地文件所做的任何更改都将更新服务器上的文件
  • 能够排除某些目录、文件、扩展名(例如 .git)

在 Windows 上有哪些软件可以做到这一点?Filezilla 做得更好吗?或者还有其他建议

我试过 WinSCP,但无法正常工作。每当我更改一个文件时,就会弹出一个对话框(或控制台输出,具体取决于我运行它的位置)浏览所有文件和所有子目录。我不知道为什么会这样,因为我只对一个文件进行了更改,并且在尝试之前同步了所有文件不断更新。它只是花时间处理一些已经同步且最新的文件。

答案1

下面是我使用 WinSCP 使本地目录与远程目录保持同步的 .cmd 脚本。

如果您在保存一个文件时看到大量传输,则可能是因为您没有排除 .git 文件夹。当您保存文件时,git 会对 .git 文件夹进行大量更改。您将需要在 WinSCP 配置文件中将其排除。

@ECHO OFF
@ECHO Keeping Toolkit dir up to date...
@PING 1.1.1.1 -n 1 -w 10000 > NUL
@START "" "C:\Program Files (x86)\WinSCP\WinSCP.exe" my-toolkit /keepuptodate c:\Users\a150495\toolkit /opt/ssp/apps/www/html/chris/toolkit /defaults "" -clean

答案2

如果 WinSCP 同步未更改的文件,则您可能遇到了时区或 DST 问题。

请参阅 WinSCP FAQ 了解可能的原因:
同步或保持远程目录更新功能不起作用。为什么?

相关内容