ฉันมักจะทำการเปลี่ยนแปลงเล็กน้อยในไฟล์ข้อความขนาดใหญ่พอสมควรผ่านทาง FTP ( ไฟล์ CSS สำหรับการพัฒนาเว็บ ) และเนื่องจากการเชื่อมต่ออินเทอร์เน็ตของฉันช้ามากมันเป็นกระบวนการที่เจ็บปวดมาก
แม้ว่าฉันจะเปลี่ยนเพียงหนึ่งตัวอักษรของไฟล์ฉันยังคงต้องนั่งรอเป็นเวลานานในขณะที่ไฟล์ทั้งหมดได้รับการอัปโหลดใหม่ไปยังเซิร์ฟเวอร์
มีวิธีใดบ้างที่ฉันสามารถแก้ไขไฟล์ที่โฮสต์จากระยะไกลบนคอมพิวเตอร์ของฉันและเมื่อฉันบันทึกไฟล์ให้อัปโหลดเฉพาะส่วนของไฟล์ที่มีการเปลี่ยนแปลงเท่านั้น
แก้ไข:ฉันคิดว่าฉันไม่ชัดเจนเกี่ยวกับวิธีการใช้ไคลเอนต์ FTP ของฉันในขณะนี้ โดยทั่วไปฉันเปิดไฟล์ระยะไกลผ่าน SFTP โดยใช้ WinSCP WinSCP บันทึกลงในโฟลเดอร์ tmp เปิด Sublime Text และเริ่มแก้ไข เมื่อฉันกดบันทึก WinSCP จะอัปโหลดไฟล์อีกครั้งโดยอัตโนมัติ ฉันไม่เคยบันทึกไฟล์อย่างถาวรในคอมพิวเตอร์ของฉัน - ทุกอย่างทำผ่านโฟลเดอร์ temp ของ WinSCP นั่นเป็นเหตุผลที่ฉันกำลังมองหาวิธีแก้ปัญหาที่สามารถใช้ในลักษณะ "hit and run"
การสนทนาก่อนหน้า
ก่อนหน้านี้ฉันได้โพสต์คำถามนี้ไว้ที่ ServerFaultซึ่งแนะนำให้ใช้ git อย่างที่แนะนำ แต่ตามที่อธิบาย:
ด้วย git หรือเครื่องมือ versioning ที่คล้ายกันฉันต้องทำคอมมิททุกครั้งที่บันทึกไฟล์ใช่มั้ย แม้ว่าจะสามารถทำได้โดยอัตโนมัติ (เช่นถ้าฉันมีแมโครซึ่งทำให้ Ctrl-S ในไฟล์บันทึกข้อความ Sublime และดำเนินการกด git ในเวลาเดียวกัน) ฉันอาจทำการแก้ไข CSS เล็ก ๆ 50 - 100 ไฟล์ต่อชั่วโมง แน่นอนฉันจะจบลงด้วยบันทึกการส่งสแปมหรือไม่ อีกทั้งโซลูชัน git นั้นไม่ยืดหยุ่นเนื่องจากต้องอาศัยไฟล์ใดก็ตามที่ฉันกำลังแก้ไขซึ่งเป็นส่วนหนึ่งของ repo git
ทางออกเดียวที่ฉันนึกได้ตอนนี้คือกระบวนการแฮ็กอัพบางชนิดโดยใช้ rsync แต่ถึงอย่างนั้นมันก็ยุ่งมาก:
- ฉันดาวน์โหลดไฟล์ฉันต้องการคอมพิวเตอร์ของฉัน (ผ่าน FTP / rsync / อะไรก็ตาม)
- ฉันเปิดไฟล์ใน (เช่น) Sublime Text และเริ่มทำการแก้ไข
- กระบวนการพื้นหลังกำลังตรวจสอบโฟลเดอร์สำหรับการแก้ไขไฟล์ เมื่อฉันบันทึกไฟล์กระบวนการดังกล่าวจะทริกเกอร์การดำเนินการ rsync จากคอมพิวเตอร์ของฉันไปยังเซิร์ฟเวอร์โดยโอนส่วนที่เปลี่ยนแปลงของไฟล์
อย่างไรก็ตามฉันต้องตั้งค่าหรือระบุไฟล์ระยะไกลหรือเส้นทางไดเรกทอรีด้วยตนเองมิฉะนั้นสคริปต์ rsync ในเครื่องจะไม่ทราบตำแหน่งที่จะซิงค์ไฟล์ดังนั้นวิธีนี้จึงค่อนข้างยืดหยุ่น วิธีนี้จะไม่ให้ฉันเรียกดูไฟล์แบบสุ่มทันทีเปิดและบันทึกอย่างที่ไคลเอนต์ FTP ทำ
นอกจากนี้ยังไม่มีข้อเสนอแนะที่มองเห็นได้เช่นแถบความคืบหน้าในการอัปโหลดด้วยวิธีนี้