Ich nehme häufig kleine Änderungen an ziemlich großen Textdateien über FTP ( CSS-Dateien für die Webentwicklung ) vor. Da meine Internetverbindung sehr langsam ist, ist dies ein sehr schmerzhafter Prozess.
Selbst wenn ich nur ein Zeichen der Datei ändere, muss ich noch einige Zeit warten, bis die gesamte Datei erneut auf den Server hochgeladen wird.
Gibt es eine Möglichkeit, remote gehostete Dateien auf meinem lokalen Computer zu bearbeiten und beim Speichern der Datei nur die Teile der Datei hochzuladen, die sich geändert haben ?
Bearbeiten: Ich glaube, ich war mir im Moment nicht sicher, wie ich meinen FTP-Client verwende. Grundsätzlich öffne ich eine Remote-Datei über SFTP mit WinSCP. WinSCP speichert es in einem tmp-Ordner, startet Sublime Text und ich beginne mit der Bearbeitung. Wenn ich auf Speichern drücke, lädt WinSCP die Datei automatisch neu hoch. Ich speichere die Datei nie dauerhaft auf meinem Computer - alles wird über den temporären Ordner von WinSCP erledigt. Aus diesem Grund suche ich nach einer Lösung, die auf diese Art von "Hit and Run" verwendet werden kann.
Vorherige Diskussion
Ich habe diese Frage zuvor auf ServerFault gepostet, wo die Verwendung von etwas wie git vorgeschlagen wurde, jedoch wie ich erklärte:
Mit git oder einem ähnlichen Versionierungstool müsste ich jedes Mal ein Commit durchführen, wenn ich die Datei speichere, oder? Selbst wenn dies automatisch erfolgen könnte (dh wenn ich ein Makro hätte, mit dem Strg-S in Sublime Text gespeichert und gleichzeitig ein Git-Push ausgeführt wird), könnte ich 50 bis 100 winzige Änderungen an einer CSS-Datei pro Stunde vornehmen. Sicherlich würde ich mit einem Spam-Protokoll enden? Außerdem ist die Git-Lösung unflexibel, da sie davon abhängt, welche Datei ich gerade bearbeite, um Teil eines Git-Repos zu sein.
Die einzige Lösung, an die ich bisher denken kann, ist eine Art gehackter Prozess mit rsync, aber selbst dann ist es sehr umständlich:
- Ich lade die benötigten Dateien auf meinen Computer herunter (über FTP / rsync / was auch immer).
- Ich öffne eine Datei in (z. B.) Sublime Text und beginne Änderungen vorzunehmen.
- Ein Hintergrundprozess überwacht den Ordner auf Dateiänderungen. Wenn ich eine Datei speichere, löst dieser Prozess sofort einen rsync-Vorgang von meinem Computer auf den Server aus und überträgt die geänderten Teile der Datei.
Ich muss jedoch die Remote-Datei- oder Verzeichnispfade manuell einrichten oder angeben, da das lokale rsync-Skript sonst nicht weiß, wo die Dateien rsynciert werden sollen, sodass diese Methode immer noch ziemlich unflexibel ist. Mit dieser Methode kann ich nicht sofort zu einer zufälligen Datei navigieren, sie öffnen und speichern, wie es ein FTP-Client tut.
Bei dieser Methode gibt es auch kein sichtbares Feedback wie einen Upload-Fortschrittsbalken.