Git เป็นเครื่องมือในการจัดการเวอร์ชันของซอร์สโค้ดที่ได้รับความนิยมอย่างแพร่หลาย โดยเฉพาะในโลกของการพัฒนาซอฟต์แวร์ ด้วยความสามารถในการติดตามการเปลี่ยนแปลงของไฟล์ การทำงานร่วมกันของทีม และการย้อนกลับไปยังเวอร์ชันก่อนหน้าได้อย่างง่ายดาย หนึ่งในฟีเจอร์ที่ทำให้ Git โดดเด่น คือการดูความแตกต่าง หรือ 'Diff' ระหว่างการเปลี่ยนแปลงใน commit ต่าง ๆ ของไฟล์
Diff คือกระบวนการที่ใช้ในการแสดงการเปลี่ยนแปลงระหว่างไฟล์สองเวอร์ชันโดยแสดงถึงบรรทัดที่ถูกเพิ่มเข้ามาหรือลบออกไป ซึ่ง Git มีคำสั่งที่ทำให้สามารถดู Diff ของ commit ต่าง ๆ ได้อย่างสะดวก
ใช้กรณีจริงของ Diff
ในสถานการณ์การพัฒนาซอฟต์แวร์ร่วมกัน การเข้าใจถึงการเปลี่ยนแปลงในโค้ดเป็นสิ่งสำคัญยิ่ง ทำให้ทีมพัฒนาสามารถทบทวนโค้ด (code review) อย่างมีประสิทธิภาพ และช่วยแก้ไขความขัดแย้งในโค้ด (conflict) ได้
นอกเหนือจากการทำงานเป็นทีม การดู Diff ยังมีประโยชน์ต่อนักพัฒนาซอฟต์แวร์ในระดับบุคคล เช่น ในกรณีที่ทำงานคนเดียว การใช้งาน Diff ช่วยให้ผู้พัฒนาสามารถตรวจสอบความถูกต้องของการเปลี่ยนแปลง และสามารถปรับปรุงโค้ดให้มีมาตรฐานและสอดคล้องกับความต้องการที่กำหนด
ในการใช้งานคำสั่ง `git diff` เราสามารถประยุกต์ใช้ในหลายรูปแบบขึ้นอยู่กับลักษณะการเปรียบเทียบที่ต้องการ
การเปรียบเทียบระหว่างไฟล์ที่ยังไม่ได้ commit
เมื่อเราต้องการดูการเปลี่ยนแปลงที่ทำไว้ใน working directory ของเรายังไม่ได้มีการบันทึก สามารถใช้คำสั่ง:
git diff
การเปรียบเทียบระหว่างไฟล์ที่อยู่ใน staging area กับล่าสุดใน repository
เพื่อดูการเปลี่ยนแปลงที่ยังไม่ถูก commit ให้ใช้คำสั่ง:
git diff --staged
การเปรียบเทียบระหว่างสอง commit
กรณีที่ต้องการเปรียบเทียบระหว่างสอง commit ที่กำหนด สามารถใช้คำสั่ง:
git diff <commit1> <commit2>
โดย `<commit1>` และ `<commit2>` คือหมายเลขหรือ hash ของ commit ที่ต้องการเปรียบเทียบ
ลองพิจารณาตัวอย่างในการพัฒนาโปรแกรมจำลองร้านค้าซึ่งใช้ Git ในการติดตามเวอร์ชัน:
commit a1b2c3d
Author: John Doe
Date: Thu Oct 10 21:41:34 2023 +0700
Add new feature for calculating discounts
+ def calculate_discount(price, discount_rate):
+ return price - (price * discount_rate / 100)
commit d4e5f6g
Author: John Doe
Date: Fri Oct 11 10:00:12 2023 +0700
Fix bug in discount calculation
- return price - (price - discount_rate / 100)
+ return price - (price * discount_rate / 100)
จากตัวอย่างข้างต้น การดู diff จึงช่วยให้ทีมพัฒนาสามารถเห็นความเปลี่ยนแปลงที่เกิดขึ้นในโค้ด และสามารถระบุจุดที่อาจทำให้เกิดข้อผิดพลาดได้ง่ายขึ้น
การดู Diff ระหว่าง commit ใน Git เป็นเสมือนคู่หูให้นักพัฒนาสามารถทำความเข้าใจการเปลี่ยนแปลงของโค้ดผ่านเวอร์ชันต่าง ๆ ได้อย่างชัดเจน สะท้อนถึงการพัฒนาที่มีระบบระเบียบ และยังเป็นเครื่องมือที่มีประสิทธิภาพในการทำ code review หรือแก้ไข conflicts ที่อาจเกิดขึ้น
หากคุณต้องการพัฒนาความสามารถในการใช้งาน Git และเครื่องมือทางโปรแกรมมิ่งอื่น ๆ อย่างมีประสิทธิภาพ ที่ EPT (Expert-Programming-Tutor) เรามีหลักสูตรที่ออกแบบมาเพื่อสนับสนุนการเรียนรู้ด้านนี้โดยเฉพาะ ที่นี่เราจะมุ่งเน้นไปที่การแก้ปัญหาที่แท้จริงและการนำความรู้ไปปฏิบัติอย่างเป็นรูปธรรมในโลกแห่งการพัฒนาซอฟต์แวร์!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM