เทียบ diff ไฟล์ local กับเวอร์ชันบน remote ใน Git
แค่รันคำสั่งด้านล่างก็ได้ diff เทียบกับเวอร์ชันบน remote แล้ว
$ git diff origin/master -- [local-path]
branch แบบ local และ remote
เมื่อใช้ Git สิ่งสำคัญคือต้องรู้ความแตกต่างระหว่าง branch แบบ local และ remote โดย local branch คือ branch ที่มีอยู่แค่บนเครื่องของคุณ ไม่ได้แชร์กับนักพัฒนาคนอื่นหรือ remote repository ส่วน remote branch คือ branch ที่อยู่บน remote repository ซึ่งนักพัฒนาคนอื่นเข้าถึงได้ผ่าน remote repository
local branch ใช้สำหรับพัฒนางานส่วนตัว ทดสอบ และทดลอง ส่วน remote branch ใช้สำหรับทำงานร่วมกัน แชร์งาน และ deploy เมื่อคุณสร้าง local branch คุณทำงานบนนั้นได้อย่างอิสระโดยไม่กระทบ remote branch แต่เมื่อพร้อมแชร์การเปลี่ยนแปลงให้คนอื่น ก็ push local branch ขึ้น remote repository เพื่อสร้าง remote branch ใหม่หรืออัปเดตของเดิม
ดึงการเปลี่ยนแปลงล่าสุด
ก่อนเปรียบเทียบ branch แบบ local กับ remote คุณต้อง fetch การเปลี่ยนแปลงล่าสุดจาก remote repository ก่อน เพื่อให้แน่ใจว่า local repository ของคุณอัปเดตตรงกับการเปลี่ยนแปลงล่าสุดบน remote repository วิธี fetch ให้ใช้คำสั่ง git fetch ซึ่งจะอัปเดต local repository ด้วยการเปลี่ยนแปลงล่าสุดจาก remote repository โดยไม่ merge ให้
ใช้ Git Diff เปรียบเทียบไฟล์
Git Diff เป็นเครื่องมือชั้นดีสำหรับเปรียบเทียบไฟล์ระหว่าง branch แบบ local กับ remote วิธีใช้คือใช้คำสั่ง git diff ตามด้วยชื่อ branch ที่ต้องการเปรียบเทียบ ตัวอย่างเช่น ถ้าจะเทียบไฟล์ใน local branch main กับไฟล์ใน remote branch origin/main ให้ใช้คำสั่ง git diff main origin/main
Git Diff จะแสดงความแตกต่างระหว่างสอง branch โดยไฮไลต์การเปลี่ยนแปลงบน remote branch เทียบกับ local branch คุณยังใช้ตัวเลือก --stat เพื่อแสดงผลแบบย่อได้ ซึ่งจะบอกจำนวนบรรทัดที่เพิ่ม ลบ และแก้ไข
แนวปฏิบัติที่ดีในการเปรียบเทียบ local กับ remote
เมื่อเปรียบเทียบ branch แบบ local กับ remote ควรทำตามแนวปฏิบัติที่ดีเพื่อให้ได้ผลลัพธ์ที่แม่นยำและรวดเร็ว นี่คือแนวปฏิบัติที่ควรจำไว้:
- fetch การเปลี่ยนแปลงล่าสุดจาก remote repository ทุกครั้งก่อนเปรียบเทียบ branch แบบ local กับ remote
- ใช้ Git Diff เปรียบเทียบไฟล์ระหว่าง branch แบบ local กับ remote
- ใช้ตัวเลือก --stat เพื่อแสดงความแตกต่างแบบย่อ
- ใช้คำสั่ง git log เปรียบเทียบประวัติ commit ระหว่าง branch แบบ local กับ remote
- ใช้คำสั่ง git status ดูสถานะของ local branch และ remote branch
เทคนิคการเปรียบเทียบขั้นสูง
นอกจาก Git Diff และ Git Log แล้ว ยังมีเทคนิคขั้นสูงที่ใช้เปรียบเทียบ branch แบบ local กับ remote ได้อีก เช่น:
- ใช้ git difftool เปรียบเทียบไฟล์ระหว่าง branch แบบ local กับ remote ผ่าน difftool แบบกราฟิก
- ใช้ git diff --name-only แสดงรายชื่อไฟล์ที่ถูกแก้ไขระหว่าง branch แบบ local กับ remote
- ใช้ git diff --word-diff แสดงความแตกต่างแบบทีละคำ
- ใช้ git diff --ignore-space-change เพื่อไม่สนใจการเปลี่ยนแปลงช่องว่าง
ตอนนี้คุณก็มีเครื่องมือเพิ่มขึ้นสำหรับเปรียบเทียบ branch แบบ local กับ remote แล้ว