ศึกษาการแก้ conflict โดยการแตก branch แรกเพื่อเพิ่มความสามารถให้โปรแกรมรับ
-v
สำหรับบอกเวอร์ชั่นโปรแกรมที่ไฟล์
hello.py
ส่วนที่เช็ค -h
(แถวบรรทัดที่ 5) เพิ่ม code ให้เป็นอย่างนี้แล้วก็ commit
เรียร้อยกับ branch แรกไปแล้ว ก็มาทำ branch ที่สอง โดยเขียนให้โปรแกรมรับ
-l
เพื่อบอกลิขสิทธิ์โปรแกรมแก้ไฟล์
hello.py
ที่เดิมเลย (แค่เปลี่ยนหน้าตา code นิดหน่อย)เช่นเดิม commit มันซะ
คราวนี้กลับมาที่ master แล้วทำการ merge เหมือนตอนที่ผ่านมา
พบว่ามีฟ้อง conflict และส่งผลให้ merge ไม่ผ่าน ตอนนี้ถ้าดูสถานะจะพบว่า
หมายเหตุว่า Git จะไม่ยอมให้ย้าย branch ถ้าหากยังมี conflict เช่นนี้อยู่ ดังนั้นมาเก็บข้อผิดพลาดนี้กัน โดยเปิดไฟล์
hello.py
ขึ้นมา จะเห็นดังนี้ส่วนที่เกิด conflict จะถูกคั่นด้วยบรรทัดที่ขึ้นต้นด้วยเครื่องหมาย
<<<<<<<
, =======
, >>>>>>>
ในตัวอย่างนี้ จัดการลบ 3 บรรทดนั้นทิ้งไปก็พอครับ (สำหรับงานจริง เปิดอ่านโปรแกรมแล้วจัดการเรียบเรียง code ใหม่ให้ทำงานถูกต้องนะครับ)ตอนนี้อาจจะทดสอบเพิ่มกันอีกเล็กน้อย เมื่อมั่นใจว่าโปรแกรมทำงานถูกต้องแล้ว ก็สั่ง commit ความเปลี่ยนแปลงนี้ครับ (ไม่ใช่สั่ง merge ไปอีกรอบนะครับ -- ตัว Git จะรู้ได้เองว่านี่เป็นการแก้ conflict ที่เกิดจากการ merge)
ถึงตอนนี้ถ้ายังไม่มั่นใจว่าทั้ง 2 branch นั้นถูก merge แล้วจริงหรือเปล่า สามารถดูด้วย
branch --no-merged
ซึ่งควรจะไม่แสดงผลลัพท์ออกมา (เพราะถูก merge เรียบร้อยแล้ว) และถ้าสั่ง branch --merged
ก็ควรจะเห็นครบเรียบร้อยแล้วก็ลบ branch ทั้ง 2 ทิ้งเลยครับ
No comments:
Post a Comment