แบบฝึกหัดนี้แตกต่างกันเล็กน้อย แทนที่จะทำตามคำสั่งทีละขั้นตอน แต่ให้นักศึกษาคิดสถานการณ์สมมติของตัวเองที่ตรงตามความต้องการที่กำหนดให้ เริ่มต้นด้วยการสร้าง repo ใหม่ สร้างไฟล์ใน repo หนึ่งหรือสองไฟล์เพื่อให้นักศึกษาทำงาน ถ้านักศึกษาต้องการแนวทาง นักศึกษาสามารถทำงานในไฟล์ชื่อ greetings.txt ก็ได้ โดยจะประกอบไปด้วยคำทักทายในภาษาต่าง ๆ เป็นเนื้อหา

ส่วนที่ 1: Fast Forward Merge

เป้าหมายหลักคือทำ fast forward merge เพื่อเน้นถึงความเข้าในของนักศึกษาเกี่ยวกับการ merge แบบ FF merges ว่าเกิดขึ้นในตอนไหนและสถานการณ์ไหน ให้นักศึกษาสร้าง branch ใหม่และเพิ่มเติมเนื้อหาบางส่วนไปใน repo ซึ่งเมื่อเพิ่มไปแล้วนักศึกษาจะต้องทำการ merge กลับไปยัง master branch โดยให้ผลการ merge เป็นแบบ fast forward

ส่วนที่ 2: Merge Commit (No Conflicts)

เป้าหมายคือสร้างสถาณการ merge commit โดยในกรณีนี้เมื่อทำการ merge จะยังไม่มีเหตุการณ์ MERGE CONFLICTS เกิดขึ้น ให้นักศึกษาสร้าง branch ใหม่จากนั้นเพิ่มเนื้อหาบางส่วนไปใน repo ซึ่งจะทำให้เมื่อเรา merge ตัว branch ใหม่นี้ไปที่ master แล้วผลลัพธ์ โปรแกรม Git จะบังคับให้นักศึกษาทำการ merge commit ซึ่งจะมีการสร้าง commit ใหม่ขึ้นพร้องกรอกข้อความการ commit แต่การ merge นี้จะต้องไม่เกิด conflicts ใด ๆ ขึ้น

ส่วนที่ 3: Conflicts!

เป้าหมายของการ merge ในขั้นตอนนี้คือทำให้เกิด conflict ให้นักศึกษาสร้าง branch ใหม่เพิ่มเนื้อหาบางส่วนไปใน repo ซึ่งจะทำให้เมื่อเรา merge เนื้อหาเนื้อหาไปยัง master branch แล้วผลลัพธ์จะเกิด merge conflict ขึ้น ให้นักศึกษาแก้ conflict นั้นเพื่อให้การ merge เสร็จสมบูรณ์

อ.ดร.วัชรินทร์ สาระไชย
อ.ดร.วัชรินทร์ สาระไชย

Hello! I’m Watcharin Sarachai, an enthusiastic and dedicated educator with a passion for advancing the field of computer science. I hold a Ph.D. in Computer Science from Chiang Mai University, where I focused on cutting-edge research in Machine Learning, Computer Programming, and Embedded Systems.

Articles: 18