Saya sering melakukan perubahan kecil pada file teks yang cukup besar melalui FTP ( file CSS untuk pengembangan web ) dan karena koneksi internet saya sangat lambat, itu adalah proses yang sangat menyakitkan.
Bahkan jika saya mengubah hanya satu karakter file, saya masih harus duduk dan menunggu waktu yang cukup lama sementara seluruh file diunggah kembali ke server.
Apakah ada cara saya bisa mengedit file yang di-host-jarak jauh di komputer lokal saya dan ketika saya menyimpan file, hanya mengunggah bagian-bagian file yang berubah ?
Sunting: Saya pikir saya belum jelas tentang bagaimana saya menggunakan klien FTP saya saat ini. Pada dasarnya, saya membuka file jarak jauh melalui SFTP menggunakan WinSCP. WinSCP menyimpannya ke folder tmp, meluncurkan Sublime Text dan saya mulai mengeditnya. Ketika saya menekan save, WinSCP mengunggah ulang file secara otomatis. Saya tidak pernah benar-benar menyimpan file secara permanen di komputer saya - semuanya dilakukan melalui folder temp WinSCP. Itu sebabnya saya mencari solusi yang dapat digunakan dalam cara tipe "hit and run" ini.
Diskusi Sebelumnya
Saya sebelumnya memposting pertanyaan ini di ServerFault di mana menggunakan sesuatu seperti git disarankan, namun seperti yang saya jelaskan:
Dengan git atau alat versi yang serupa saya harus membuat komit setiap kali saya menyimpan file, kan? Bahkan jika itu dapat dilakukan secara otomatis (yaitu jika saya memiliki makro yang membuat Ctrl-S di Sublime Text menyimpan file dan mengeksekusi git push pada saat yang sama), saya mungkin membuat 50 - 100 suntingan kecil file CSS per jam; pasti saya akan berakhir dengan log komit yang dimuntahkan? Juga solusi git tidak fleksibel karena bergantung pada file apa pun yang saya edit menjadi bagian dari repo git.
Satu-satunya solusi yang dapat saya pikirkan sejauh ini adalah beberapa jenis proses peretasan menggunakan rsync tetapi meskipun begitu, itu sangat fiddly:
- Saya mengunduh file yang saya butuhkan ke komputer saya (via FTP / rsync / apa pun).
- Saya membuka file di (mis.) Sublime Text dan mulai mengedit.
- Proses latar belakang memantau folder untuk modifikasi file. Ketika saya menyimpan file, proses itu langsung memicu operasi rsync dari komputer saya ke server, mentransfer bagian file yang diubah.
Namun, saya perlu mengatur secara manual atau menentukan file jarak jauh atau jalur direktori atau skrip rsync lokal tidak akan tahu ke mana harus mensinkronkan file sehingga metode ini masih cukup tidak fleksibel. Metode ini tidak akan membiarkan saya langsung mencari file acak, membukanya dan menyimpannya seperti yang dilakukan klien FTP.
Tidak ada umpan balik yang terlihat seperti bilah kemajuan unggahan dengan metode ini.
Jawaban:
Vim memiliki plugin bawaan bernama netrw, yang memungkinkan Vim mengedit file jarak jauh. Rsync adalah salah satu protokol yang dapat digunakan:
Tentu saja, jika Anda memiliki akses SSH ke mesin jarak jauh, dan Vim diinstal di dalamnya, mungkin lebih mudah untuk hanya menggunakan Vim dari jarak jauh. Nano, Emacs, dan editor lain dengan antarmuka baris perintah juga merupakan opsi dalam kasus itu. Namun, tergantung seberapa buruk koneksi Anda, ini mungkin bukan opsi yang menyenangkan.
Itu semua berkata,
tanpa sistem rollback yang andal seperti apa yang dapat disediakan git adalah Anda dan organisasi Anda hanya memohon penderitaan ketika Anda melakukan kesalahan yang tak terhindarkan yang mungkin tidak diketahui sampai Anda lupa persis apa yang Anda lakukan.
sumber
Beyond Compare adalah alat diff yang dapat membandingkan dan menggabungkan folder dan file; Server FTP juga didukung dan dapat ditangani seperti folder lokal. Ini adalah hak milik, lisensi seumur hidup untuk satu kali pemasangan dikenakan biaya 30 USD untuk edisi standar (dengan FTP) atau 60 USD untuk edisi profesional (dengan SFTP). Ini berjalan pada Windows, Mac OS dan Linux. Secara pribadi saya mengembangkan situs web saya di komputer rumah saya dan mengunggah perubahan ke server Web saya ketika saya senang. Saya melalui perubahan dengan tangan dengan Beyond Compare tetapi ini bisa otomatis juga. Anda bisa mencobanya dan melihat apakah itu hanya mengunggah file atau potongan perubahan; Saya tidak yakin tentang hal itu.
sumber