วิธีเปรียบเทียบข้อความและค้นหาความแตกต่าง
การค้นหาว่ามีอะไรเปลี่ยนแปลงระหว่างเอกสารสองเวอร์ชัน ไฟล์การกำหนดค่า หรือชิ้นส่วนของโค้ดเป็นงานทั่วไป การอ่านทั้งสองเวอร์ชันและตรวจหาความแตกต่างด้วยตาเปล่านั้นช้าและไม่น่าเชื่อถือ — โดยเฉพาะกับข้อความยาวๆ ตัวเปรียบเทียบ (diff) ทำได้ทันทีและไฮไลต์การเปลี่ยนแปลงทุกครั้ง
วิธีเปรียบเทียบข้อความสองชุด
- วางทั้งสองเวอร์ชัน — ป้อนข้อความต้นฉบับทางซ้ายและข้อความที่แก้ไขทางขวา
- ดูการไฮไลต์ — บรรทัดที่เพิ่มเป็นสีเขียว บรรทัดที่ลบเป็นสีแดง บรรทัดที่แก้ไขแสดงทั้งเวอร์ชันเก่าและใหม่
- ส่งออกหรือคัดลอก — คัดลอกผลลัพธ์ของ diff หรือดาวน์โหลดรายงาน
การอ่าน diff
เอาต์พุตของ diff ใช้รหัสสีง่ายๆ:
- สีเขียว (เพิ่ม) — บรรทัดที่อยู่ในเวอร์ชันใหม่แต่ไม่อยู่ในเวอร์ชันเก่า
- สีแดง (ลบ) — บรรทัดที่อยู่ในเวอร์ชันเก่าแต่หายไปจากเวอร์ชันใหม่
- ไม่เปลี่ยนแปลง — บรรทัดที่เหมือนกันในทั้งสองเวอร์ชัน
นี่คือธรรมเนียมเดียวกันที่ Git, GitHub และระบบควบคุมเวอร์ชันใหญ่ๆ ทั้งหมดใช้
เมื่อใดที่ diff มีประโยชน์
- การตรวจสอบโค้ด — เปรียบเทียบการแก้ไขของคุณกับต้นฉบับก่อน commit เพื่อดูว่าคุณเปลี่ยนแปลงอะไรอย่างแม่นยำ
- การแก้ไขเอกสาร — ค้นหาว่ามีอะไรเปลี่ยนแปลงระหว่างเวอร์ชันสัญญา บทความ หรือนโยบายสองเวอร์ชัน
- การดีบักการกำหนดค่า — เปรียบเทียบไฟล์ config ที่ทำงานได้กับที่เสียเพื่อหาความแตกต่าง
- การตรวจสอบข้อมูล — ตรวจสอบว่าการส่งออกข้อมูลสองครั้งเหมือนกันหรือค้นหาว่าแตกต่างที่ไหน
- ความขัดแย้งของการรวม — เข้าใจทั้งสองด้านของความขัดแย้งก่อนแก้ไข
เคล็ดลับ
- วางข้อความที่สะอาด — ลบส่วนหัว ส่วนท้าย หรือเมตาดาต้าที่คุณไม่ต้องการเปรียบเทียบ เสียงรบกวนทำให้ความแตกต่างจริงตรวจหาได้ยากขึ้น
- ใช้มุมมองเคียงข้างกัน — การเห็นทั้งสองเวอร์ชันโดยมีหมายเลขบรรทัดที่จัดเรียงทำให้ติดตามความแตกต่างได้ง่ายกว่ามุมมองในบรรทัด
- ระวังช่องว่าง — บางครั้ง ข้อความที่ « เหมือนกัน » มีความแตกต่างที่มองไม่เห็นเช่นช่องว่างท้ายบรรทัด การลงท้ายบรรทัดที่ต่างกัน (LF vs CRLF) หรือแท็บแทนช่องว่าง diff จับได้
- ทำงานออฟไลน์ — เมื่อโหลดหน้าแล้ว การเปรียบเทียบทำงานในเครื่อง ไม่ต้องใช้อินเทอร์เน็ต
คำถามที่พบบ่อย
diff เปรียบเทียบอักขระต่ออักขระหรือไม่?
เปรียบเทียบบรรทัดต่อบรรทัด แนวทางเดียวกับ Git และเครื่องมือ diff มืออาชีพส่วนใหญ่ หากอักขระเดียวเปลี่ยนในบรรทัด บรรทัดทั้งหมดจะถูกไฮไลต์ว่าเปลี่ยนแปลง
มีขีดจำกัดขนาดหรือไม่?
ไม่มีขีดจำกัดที่เข้มงวด แต่ข้อความขนาดใหญ่มาก (มากกว่า 10,000 บรรทัด) อาจใช้เวลาประมวลผลเล็กน้อยเนื่องจากการเปรียบเทียบทำงานทั้งหมดในเบราว์เซอร์ของคุณ
ฉันสามารถเปรียบเทียบไฟล์โค้ดได้หรือไม่?
ได้ diff ทำงานกับข้อความใดๆ รวมถึงซอร์สโค้ด การไฮไลต์ไวยากรณ์ช่วยให้อ่าน diff ของโค้ดได้ง่ายขึ้น
ข้อความของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การเปรียบเทียบทำในเบราว์เซอร์ของคุณ ข้อความของคุณไม่เคยออกจากอุปกรณ์ของคุณ