Merge commit
#HelloGameDev #HelloErmine #HelloWorld2021
ในส่วนของ merge commit นั้นจะเป็นยกตัวอย่างกรณีจริงที่มักเกิดขึ้นเมื่อมีคนกลุ่มหนึ่งลงมือทำโค้ดร่วมกัน
โดยสมมติว่านาย A กับนาย B เขียนโค้ดด้วยกันอยู่ และทั้งคู่ก็เขียนโค้ดที่อยู่ในไฟล์เดียวกัน ดังรูปตัวอย่าง
นาย B เขียนโค้ดเสร็จแล้ว ก็เลย commit ไฟล์ที่ตัวเองเขียนเสร็จแล้ว push ขึ้น Remote repository
ส่วนนาย A ที่เขียนโค้ดเสร็จทีหลังและเตรียมจะ push ขึ้น Remote repository กลับพบว่านาย B ได้ push ขึ้นไปก่อนหน้านั้นแล้ว ทำให้เขา push ตามขึ้นไปในทันทีไม่ได้
ดังนั้น สิ่งที่นาย A ต้องทำก่อนที่จะ push ของตัวเองขึ้นไปได้ ก็คือจะต้อง pull จาก Remote repository ลงมาใหม่ก่อนเพื่ออัปเดต commit ที่นาย B ได้ push ขึ้นไป ซึ่งเราเรียกขั้นตอนนี้ว่า merge commit นั่นเอง
จากตัวอย่าง จะเห็นว่าโค้ดของนาย A และ B แก้ที่บรรทัดเดียวกัน แต่โค้ดออกมาไม่เหมือนกัน ในจุดนี้ก็จะเป็นผลต่อเนื่องไปสู่อีกหนึ่งปัญหาพื้นฐานที่ Developer ควรรู้นั่นเอง (ซึ่งส่วนนี้จะมีการอธิบายในหัวข้อ conflict ต่อไป)
นอกจากนี้ยังพบในกรณีที่โค้ดสามารถ merge ได้ปกติ เช่น
เมื่อ merge เข้าด้วยกัน จะได้ผลลัพธ์ออกมาเป็นแบบนี้
ซึ่งถือเป็นหนึ่งในกรณีที่โค้ดสามารถ merge รวมกันได้โดยไม่มีปัญหาอะไร และเมื่อ merge เสร็จแล้วก็จะกลายเป็น commit ตัวหนึ่งที่ให้เราเก็บไว้และ push ขึ้น Remote repository
Last updated
Was this helpful?