Skip to content

ดึงโค้ดล่าสุดจากรีโมท (git pull, git fetch)

เมื่อทำงานกับโปรเจกต์ที่แชร์กับทีม ต้องดึงการเปลี่ยนแปลงล่าสุดจากรีโมทเสมอเพื่อป้องกันปัญหาโค้ด conflict

git pull

ดึงโค้ดล่าสุดจากรีโมทและรวม (merge) เข้ากับ branch ปัจจุบันทันที

sh
git pull origin main
  • สะดวกสำหรับผู้เริ่มต้น เพราะรวมขั้นตอน fetch + merge ให้เลย

git fetch

ดึงเฉพาะข้อมูลการเปลี่ยนแปลงมาเก็บไว้ในเครื่อง แต่ยังไม่รวมกับ branch ปัจจุบัน

sh
git fetch origin
  • เหมาะกับคนที่อยากตรวจสอบก่อนว่าจะ merge หรือไม่
  • สามารถใช้ git diff หรือ git log origin/main ดูความเปลี่ยนแปลงก่อน merge

ตัวอย่างสถานการณ์จริง

"ก่อนเริ่มงานใหม่ ควร git pull เพื่อแน่ใจว่าโค้ดในเครื่องอัปเดตเหมือนกับทีม" "ถ้าอยากตรวจสอบก่อนรวมโค้ด ใช้ git fetch แล้วค่อย merge ด้วยตัวเอง"

เคล็ดลับ

  • ใช้ git fetch + git merge เพื่อควบคุมการรวมโค้ดด้วยตัวเอง เช่น
sh
git fetch origin
# ตรวจสอบก่อน
# git diff main origin/main
# รวมโค้ด
 git merge origin/main
  • ถ้าเกิด conflict ต้องแก้ไขและ commit ก่อน push
  • ใช้ git pull --rebase เพื่อให้ประวัติ commit เรียงสวย (เหมาะกับงานทีม)

"git pull คือการอัปเดตโค้ดให้ทันทีม ส่วน git fetch ให้คุณเช็กก่อนจะรวมโค้ดเข้ามา"