我经常通过FTP(用于Web开发的CSS文件)对相当大的文本文件进行小的更改,并且由于我的互联网连接速度非常慢,所以这是一个非常痛苦的过程。
即使仅更改文件的一个字符,我仍然必须坐下来等待相当长的时间,然后才能将整个文件重新上传到服务器。
有什么方法可以编辑本地计算机上的远程托管文件,并且在保存文件时,仅上传文件中已更改的部分?
编辑:我想我目前尚不清楚如何使用我的FTP客户端。基本上,我使用WinSCP通过SFTP打开一个远程文件。WinSCP将其保存到一个tmp文件夹,启动Sublime Text,然后开始编辑它。当我点击保存时,WinSCP会自动重新上传文件。我从未真正将文件永久保存在计算机上-一切都通过WinSCP的temp文件夹完成。这就是为什么我正在寻找一种可以以“即插即用”类型的方式使用的解决方案。
先前的讨论
我之前曾在ServerFault上发布过此问题,建议使用git之类的内容,但是正如我所解释的那样:
使用git或类似的版本控制工具,每次保存文件时我都必须提交一次,对吗?即使可以自动完成(即,如果我有一个宏在Sublime Text中保存了Ctrl-S并同时执行了git push),我每小时可能会对CSS文件进行50-100次小修改;我肯定会收到垃圾邮件提交日志吗?另外,git解决方案不灵活,因为它依赖于我正在编辑的任何文件作为git repo的一部分。
到目前为止,我唯一能想到的解决方案是使用rsync进行某种骇客入侵的过程,但即使如此,它还是很奇怪:
- 我将需要的文件下载到我的计算机上(通过FTP / rsync /任何方式)。
- 我在(例如)Sublime Text中打开文件并开始进行编辑。
- 后台进程正在监视文件夹中的文件修改。当我保存文件时,该过程立即触发从计算机到服务器的rsync操作,从而传输文件的更改部分。
但是,我需要手动设置或指定远程文件或目录路径,否则本地rsync脚本将不知道在何处rsync文件,因此此方法仍然很不灵活。这种方法不会让我立即浏览到一个随机文件,无法像FTP客户端一样打开并保存它。
此方法也没有可见的反馈,例如上传进度栏。