Я часто делаю небольшие изменения в довольно больших текстовых файлах через FTP (CSS-файлы для веб-разработки), и, поскольку мое интернет-соединение ужасно медленное, это очень болезненный процесс.
Даже если я изменю только один символ файла, мне все равно придется сидеть и ждать в течение значительного времени, пока весь файл повторно загружается на сервер.
Можно ли каким-то образом редактировать удаленно размещенные файлы на локальном компьютере, и при сохранении файла загружать только те части файла, которые изменились?
Изменить: я думаю, что я неясно, как я использую свой FTP-клиент в данный момент. По сути, я открываю удаленный файл через SFTP, используя WinSCP. WinSCP сохраняет его в папку tmp, запускает Sublime Text и я начинаю его редактировать. Когда я нажимаю "Сохранить", WinSCP автоматически перезагружает файл. Я никогда не сохраняю файл постоянно на моем компьютере - все делается через временную папку WinSCP. Вот почему я ищу решение, которое можно было бы использовать таким способом типа "беги и беги".
Предыдущее обсуждение
Ранее я писал этот вопрос на ServerFault, где предлагалось использовать что-то вроде git, однако, как я объяснил:
С помощью git или аналогичного инструмента управления версиями мне придется делать коммит каждый раз, когда я сохраняю файл, верно? Даже если бы это можно было сделать автоматически (т. Е. Если бы у меня был макрос, который сделал Ctrl-S в файле сохранения Sublime Text и одновременно выполнил команду git push), я мог бы сделать 50–100 крошечных правок файла CSS в час; наверняка я бы в итоге получил спам-коммит? Кроме того, решение git негибко, поскольку оно основывается на том, какой файл я редактирую, являясь частью git-репозитория.
Единственное решение, о котором я могу подумать, это какой-то взломанный процесс, использующий rsync, но даже тогда он очень сложный:
- Я загружаю необходимые файлы на свой компьютер (через FTP/rsync/ что угодно).
- Я открываю файл в (например) Возвышенный текст и начать вносить изменения.
- Фоновый процесс отслеживает изменения файлов в папке. Когда я сохраняю файл, этот процесс немедленно запускает операцию rsync с моего компьютера на сервер, передавая измененные части файла.
Однако мне нужно было бы вручную настроить или указать пути к удаленным файлам или каталогам, иначе локальный скрипт rsync не будет знать, где rsync файлы, поэтому этот метод все еще довольно негибкий. Этот метод не позволил бы мне мгновенно перейти к случайному файлу, открыть его и сохранить как FTP-клиент.
Там также нет видимой обратной связи, как индикатор загрузки с этим методом.