เครื่องมือตรวจสอบความแตกต่าง
เปรียบเทียบข้อความสองชุดและเน้นความแตกต่าง ค้นหาการเปลี่ยนแปลง การเพิ่ม และการลบระหว่างเวอร์ชันข้อความ
วิธีใช้ เครื่องมือตรวจสอบความแตกต่าง
- 1
วางข้อความทั้งสอง
ใส่เวอร์ชันต้นฉบับในช่องซ้าย และเวอร์ชันที่แก้ไขในช่องขวา
- 2
เลือกโหมดการเปรียบเทียบ
สลับระหว่าง "ทีละบรรทัด" และ "ทีละคำ" เพื่อควบคุมความละเอียดของการเปรียบเทียบ
- 3
รันการเปรียบเทียบ
คลิก Compare เพื่อไฮไลต์ทุกการเพิ่ม การลบ และการเปลี่ยนแปลงระหว่างข้อความทั้งสอง
- 4
ตรวจดูการเปลี่ยนแปลง
อ่านผลลัพธ์ที่ใช้รหัสสีและแผงสถิติที่แสดงว่ามีการเพิ่ม ลบ หรือเปลี่ยนแปลงมากน้อยเพียงใด
การเปรียบเทียบความต่างของข้อความทำงานอย่างไรและควรใช้เมื่อใด
เครื่องมือตรวจสอบความแตกต่างทำอะไร
เครื่องมือตรวจสอบความแตกต่างรับข้อความสองเวอร์ชัน คือ ต้นฉบับและเวอร์ชันที่แก้ไขแล้ว แล้วแสดงให้คุณเห็นอย่างแม่นยำว่าอะไรเปลี่ยนไประหว่างทั้งสอง ส่วนใดถูกเพิ่ม ส่วนใดถูกลบ และเนื้อหาเลื่อนไปตรงไหน แทนที่จะเพ่งมองเอกสารสองชุดเคียงข้างกันเพื่อพยายามหาจุดที่แก้ไข คุณจะได้มุมมองเดียวที่ใช้รหัสสีเน้นความแตกต่าง และแผงสถิติที่สรุปว่ามีการเพิ่ม ลบ หรือเปลี่ยนแปลงมากน้อยเพียงใด
สิ่งนี้เปลี่ยนการเปรียบเทียบด้วยมือที่ช้าและเกิดข้อผิดพลาดได้ง่ายให้กลายเป็นการเปรียบเทียบที่ทันทีและเชื่อถือได้ ไม่ว่าการเปลี่ยนแปลงจะเป็นการแก้คำเพียงคำเดียวหรือการเขียนย่อหน้าใหม่ทั้งหมด ความต่างจะถูกแสดงออกมาอย่างชัดเจน จึงไม่มีอะไรเล็ดลอดผ่านไปโดยไม่มีใครสังเกต
แนวคิดเบื้องหลังอัลกอริทึมเปรียบเทียบความต่าง
เบื้องหลังนั้น การเปรียบเทียบข้อความสองชุดเป็นปัญหาคลาสสิกของวิทยาการคอมพิวเตอร์ เครื่องมือเปรียบเทียบความต่างส่วนใหญ่สร้างขึ้นบนแนวคิดของลำดับย่อยร่วมที่ยาวที่สุด ซึ่งมักย่อว่า LCS (longest common subsequence) คือ ลำดับชิ้นส่วนที่ยาวที่สุด ไม่ว่าจะเป็นบรรทัดหรือคำ ที่ปรากฏในทั้งสองเวอร์ชันตามลำดับเดียวกัน แม้จะไม่จำเป็นต้องอยู่ติดกัน เมื่ออัลกอริทึมพบกระดูกสันหลังร่วมนั้น ทุกอย่างในต้นฉบับที่ไม่ได้เป็นส่วนหนึ่งของมันก็นับเป็นการลบ และทุกอย่างในเวอร์ชันที่แก้ไขแล้วที่ไม่ได้เป็นส่วนหนึ่งของมันก็นับเป็นการเพิ่ม
สิ่งนี้สำคัญเพราะมันให้ชุดของการเปลี่ยนแปลงที่เล็กที่สุดและเข้าใจง่ายที่สุด แทนที่จะเป็นการจับคู่ที่ไม่ตรงกันแบบตัวอักษรต่อตัวอักษรด้วยกำลัง หากคุณแทรกประโยคหนึ่งไว้กลางเอกสาร การเปรียบเทียบที่อิงกับ LCS จะรับรู้ว่าข้อความโดยรอบไม่เปลี่ยนแปลงและทำเครื่องหมายเฉพาะประโยคใหม่ แทนที่จะอ้างว่าทุกอย่างหลังจุดที่แทรกนั้นต่างไปหมด
ทีละบรรทัดกับทีละคำ
ความละเอียดของการเปรียบเทียบเปลี่ยนสิ่งที่มันบอกคุณ โหมดทีละบรรทัดจะถือแต่ละบรรทัดเป็นหน่วยและทำเครื่องหมายบรรทัดใดก็ตามที่ต่างไปไม่ว่าด้วยทางใด ซึ่งเป็นระดับที่เหมาะสำหรับโค้ด ไฟล์การตั้งค่า และไฟล์ล็อกที่บรรทัดเป็นหน่วยความหมายตามธรรมชาติ มันให้ภาพระดับบล็อกที่ชัดเจนว่าบรรทัดใดเข้ามาและหายไป
โหมดทีละคำลงรายละเอียดมากกว่า เมื่อสองบรรทัดเหมือนกันเป็นส่วนใหญ่แต่มีไม่กี่คำที่เปลี่ยนไป มันจะชี้คำเหล่านั้นได้อย่างแม่นยำแทนที่จะทำเครื่องหมายทั้งบรรทัดว่าต่างกัน สิ่งนี้เหมาะอย่างยิ่งสำหรับงานร้อยแก้วและการแก้ไข ที่คุณต้องการเห็นว่าคำคุณศัพท์เพียงคำเดียวถูกสลับหรือชื่อถูกแก้ไขภายในประโยคที่เหมือนกันทุกอย่าง สลับระหว่างสองโหมดขึ้นอยู่กับว่าคุณสนใจว่าบรรทัดใดเปลี่ยนหรือคำใดเปลี่ยน
ตัวอย่างใช้งานจริง
เปรียบเทียบประโยค The quick brown fox jumps กับ The quick red fox leaps ในโหมดทีละบรรทัด ทั้งบรรทัดจะถูกทำเครื่องหมายว่าเปลี่ยนแปลงเพราะมันไม่เหมือนกันทุกประการ ในโหมดทีละคำ ความต่างมีประโยชน์กว่ามาก มันแสดงว่า brown ถูกลบและ red ถูกเพิ่ม และ jumps ถูกลบและ leaps ถูกเพิ่ม ขณะที่ The, quick และ fox ถูกรับรู้ว่าไม่เปลี่ยนแปลง ข้อมูลสองชุดเดียวกัน แต่มุมมองระดับคำบอกคุณได้อย่างแม่นยำว่าผู้แก้ไขทำอะไรลงไป
การเพิ่มและการลบแสดงอย่างไร
ผลลัพธ์ใช้รหัสสีเพื่อให้การเปลี่ยนแปลงสองชนิดแยกแยะได้ทันที เนื้อหาที่มีอยู่ในเวอร์ชันที่แก้ไขแล้วแต่ไม่มีในต้นฉบับจะถูกทำเครื่องหมายเป็นการเพิ่ม และเนื้อหาที่มีอยู่ในต้นฉบับแต่หายไปจากเวอร์ชันที่แก้ไขแล้วจะถูกทำเครื่องหมายเป็นการลบ การเปลี่ยนแปลงก็คือการลบและการเพิ่มที่เกิดขึ้นพร้อมกันที่จุดเดียวกัน ชิ้นเก่าถูกลบออกและชิ้นใหม่ถูกใส่เข้าไปแทนที่
ควบคู่กับมุมมองที่ไฮไลต์ แผงสถิติจะนับการเพิ่ม การลบ และการเปลี่ยนแปลง ซึ่งให้ความรู้สึกถึงขนาดได้อย่างรวดเร็ว ว่าคุณกำลังดูการแก้ไขต้นฉบับเล็กน้อยหรือการแก้ไขครั้งใหญ่ ก่อนที่คุณจะอ่านรายละเอียด
กรณีใช้งานในโลกจริง
การเปรียบเทียบความต่างเป็นหนึ่งในเครื่องมือที่ขาดไม่ได้เมื่อมันเข้ามาอยู่ในเวิร์กโฟลว์ของคุณ นักเขียนและบรรณาธิการใช้มันพิสูจน์อักษรการแก้ไขและยืนยันว่าทุกการแก้ไขที่ตั้งใจ และเฉพาะการแก้ไขที่ตั้งใจ เข้าไปอยู่ในฉบับร่างใหม่แล้ว นักพัฒนาใช้มันสำหรับการรีวิวโค้ดอย่างไม่เป็นทางการ เพื่อดูว่าการเปลี่ยนแปลงไปแตะต้องอะไรจริง ๆ ก่อนคอมมิตหรือผสานมัน ทีมกฎหมายและธุรกิจใช้มันเปรียบเทียบเวอร์ชันสัญญาและจับข้อความหรือตัวเลขที่ถูกแก้ไขอย่างเงียบ ๆ วิศวกรปฏิบัติการใช้มันค้นหาความเคลื่อนของการตั้งค่า (configuration drift) ระหว่างไฟล์ที่รู้ว่าดีกับสิ่งที่กำลังทำงานอยู่จริงบนเซิร์ฟเวอร์
มันมีประโยชน์ไม่แพ้กันสำหรับงานในชีวิตประจำวัน เช่น การเปรียบเทียบการส่งออกรายการสองชุดเพื่อหาว่าอะไรถูกเพิ่มหรือถูกตัดออก หรือการยืนยันว่าการค้นหาและแทนที่ทำสิ่งที่คุณคาดหวังโดยไม่มีการเปลี่ยนแปลงที่ไม่ตั้งใจพ่วงมาด้วย
เคล็ดลับและข้อผิดพลาดที่พบบ่อย
เพราะการเปรียบเทียบจับคู่อักขระตามตัวอักษร ความต่างของการเยื้อง ช่องว่างท้ายบรรทัด และการขึ้นบรรทัดจึงถูกตรวจพบว่าเป็นการเปลี่ยนแปลงจริง ความแม่นยำนั้นมีค่าเมื่อช่องว่างมีความสำคัญ แต่มันอาจให้ผลลัพธ์ที่รกตาเมื่อช่องว่างไม่สำคัญ ดังนั้นหากคุณกำลังเปรียบเทียบงานร้อยแก้วและสนใจแค่ถ้อยคำ ให้ปรับช่องว่างให้เป็นมาตรฐานก่อนหรือพึ่งโหมดทีละคำเพื่อมุ่งเน้นที่ตัวคำเอง เช่นเดียวกัน การจับคู่นี้คำนึงถึงตัวพิมพ์ใหญ่เล็ก ดังนั้น The และ the จึงอ่านว่าต่างกัน ให้แปลงข้อความทั้งสองเป็นตัวพิมพ์เล็กก่อนหากการใช้ตัวพิมพ์ใหญ่ไม่ใช่ส่วนหนึ่งของสิ่งที่คุณกำลังตรวจ
ข้อผิดพลาดที่พบบ่อยคือการเลือกความละเอียดผิดสำหรับงาน โหมดบรรทัดบนย่อหน้าที่จัดเรียงใหม่อย่างหนักจะทำเครื่องหมายแทบทุกอย่างว่าเปลี่ยนแปลงเพราะการขึ้นบรรทัดเลื่อนไป ทั้งที่โหมดคำจะแสดงการแก้ไขจริงเพียงหยิบมือ เลือกโหมดที่ตรงกับหน่วยที่คุณสนใจจริง ๆ และหยิบแผงสถิติมาใช้เพื่อกะขนาดของการเปลี่ยนแปลงได้ในพริบตา
เป็นส่วนตัวและไม่จำกัด
การเปรียบเทียบทำงานทั้งหมดในเบราว์เซอร์ของคุณ ข้อความทั้งสองเวอร์ชันจึงไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ ซึ่งทำให้มันปลอดภัยสำหรับฉบับร่างที่เป็นความลับ โค้ดที่เป็นกรรมสิทธิ์ และสัญญาที่ละเอียดอ่อน ไม่มีขีดจำกัดขนาดตายตัว คุณจึงวางเอกสารยาว ๆ ได้ แม้ว่าข้อมูลที่ใหญ่มากอาจใช้เวลาสักครู่ในการเรนเดอร์ความต่างที่ไฮไลต์ทั้งหมด
คำถามที่พบบ่อย
โหมดทีละบรรทัดกับทีละคำต่างกันอย่างไร
การเพิ่มและการลบแสดงอย่างไร
ฉันเปรียบเทียบโค้ด รายการ หรือข้อความที่จัดรูปแบบได้ไหม
มีขีดจำกัดขนาดของข้อความที่เปรียบเทียบได้ไหม
ข้อความของฉันถูกเก็บเป็นส่วนตัวหรือไม่
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้