OOZOU
ติดต่อเรา
กลับไปหน้า TIL
shell

เทียบ diff ไฟล์ local กับเวอร์ชันบน remote ใน Git

13 ตุลาคม 2563

แค่รันคำสั่งด้านล่างก็ได้ 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 แล้ว

เพิ่มเติมเกี่ยวกับ shell

shell8 ธันวาคม 2563

รันคำสั่งแบบ incognito/ส่วนตัวสำหรับ Bash และ Zsh

แค่ใส่ space ไว้หน้าคำสั่ง คำสั่งนั้นก็จะไม่ถูกบันทึกลง ~/.bash\_history เช่น qrencode -o out.png "Some secret text"

shell22 ตุลาคม 2563

อัปเกรดฐานข้อมูล postgres ด้วย homebrew

การอัปเกรด postgres ทำได้โดยรัน

shell13 ตุลาคม 2563

คัดลอกไฟล์ด้วย Amazon AWS S3 CLI พร้อมกำหนดสิทธิ์

เปิด term (หรือโปรแกรมที่คล้ายกัน) แล้ววางคำสั่งต่อไปนี้:

มีโปรเจกต์ในใจ?

เรายินดีรับฟังสิ่งที่คุณกำลังสร้าง

เริ่มต้นสนทนาhello@oozou.com
OOZOU Logo

กรุงเทพฯ · สิงคโปร์ · ฮ่องกง

X
Facebook
Instagram
LinkedIn

บริการ

  • พัฒนาเว็บ
  • เอเจนต์ AI และ Generative AI
  • พัฒนาแอปมือถือ
  • วิศวกรรมและวิเคราะห์ข้อมูล
  • UI/UX และการออกแบบผลิตภัณฑ์
  • การเปลี่ยนผ่านสู่ดิจิทัล

บริษัท

  • เกี่ยวกับเรา
  • ร่วมงานกับเรา
  • บล็อก
  • กรณีศึกษา
  • Today I Learned
  • ติดต่อเรา

เพิ่มเติม

  • อุตสาหกรรม
  • เครือข่ายพันธมิตร
© 2026 OOZOU สงวนลิขสิทธิ์
นโยบายความเป็นส่วนตัวจรรยาบรรณนโยบาย ABAC