จะแก้ไข Git Merge “CONFLICT” ได้อย่างไร?

Ca Kaekhi Git Merge Conflict Di Xyangri



การผสานเป็นส่วนสำคัญในขณะที่ทำงานกับพื้นที่เก็บข้อมูลในเครื่อง Git หลายสาขา จำเป็นเมื่อนักพัฒนาทำงานในโมดูลต่างๆ ของโครงการเดียวกันในแต่ละสาขา เนื่องจากผู้ใช้จำเป็นต้องพุชการเปลี่ยนแปลงทั้งหมดไปยังเซิร์ฟเวอร์ระยะไกลเพื่อการทำงานร่วมกัน ขณะดำเนินการผสาน ผู้ใช้มักจะพบกับปัญหาหรือข้อขัดแย้ง ตัวอย่างเช่น มีไฟล์สองไฟล์ที่มีชื่อเดียวกันอยู่ในสาขาที่แตกต่างกัน อย่างไรก็ตาม เนื้อหาของทั้งสองไฟล์แตกต่างกัน และต้องการรวมเข้าด้วยกัน ในสถานการณ์นี้ ความขัดแย้งจะเกิดขึ้น

บทความนี้จะระบุวิธีการแก้ไขความขัดแย้งในการผสาน Git

เมื่อ Git Merge “ขัดแย้ง” เกิดขึ้น?

ความขัดแย้งของ Git เกิดขึ้นเมื่อมีไฟล์เดียวกันในสาขาต่างๆ ที่มีเนื้อหาต่างกัน นอกจากนี้ยังสามารถเกิดขึ้นได้เมื่อไฟล์ที่ระบุหนึ่งไฟล์ถูกลบออกจากสาขาหนึ่ง แต่แก้ไขในอีกสาขาหนึ่ง







ทำตามขั้นตอนที่กล่าวถึงด้านล่างเพื่อทำความเข้าใจเมื่อความขัดแย้งในการผสานเกิดขึ้น:



  • นำทางไปยังที่เก็บที่ระบุ
  • สร้างไฟล์และอัปเดต
  • ติดตามไฟล์ในพื้นที่จัดเตรียมและยอมรับการเปลี่ยนแปลง
  • รายชื่อสาขาทั้งหมดและเปลี่ยนไปใช้สาขาอื่น
  • รวมสาขาโดยเรียกใช้ ' git ผสาน <ชื่อสาขา> ' สั่งการ.

ขั้นตอนที่ 1: เปลี่ยนเส้นทางที่เก็บที่ระบุ

เปิดเทอร์มินัล Git Bash ใช้ปุ่ม ' ซีดี ” คำสั่ง และนำทางไปยังที่เก็บที่ระบุ:



ซีดี 'C:\Users\user\Git\projectrepo'

ขั้นตอนที่ 2: สร้างไฟล์

จากนั้นสร้างไฟล์ใหม่โดยใช้ปุ่ม “ สัมผัส ' สั่งการ:





สัมผัส ไฟล์ 1.txt

ขั้นตอนที่ 3: เปิดไฟล์ในโปรแกรมแก้ไข

ใช้ “ เริ่ม ” คำสั่งพร้อมชื่อไฟล์เพื่อเปิดไฟล์ด้วยตัวแก้ไขเริ่มต้น:



เริ่มต้น file1.txt

เอาต์พุตที่เป็นผลลัพธ์บ่งชี้ว่าตัวแก้ไขถูกเปิดขึ้น เพิ่มเนื้อหาและปิดไฟล์หลังจากบันทึก:

ขั้นตอนที่ 4: เพิ่มไฟล์ในพื้นที่จัดเตรียม

ตอนนี้ เพิ่มไฟล์ที่แก้ไขไปยังพื้นที่การแสดงละครด้วยความช่วยเหลือของ ' คอมไพล์เพิ่ม ” คำสั่งสำหรับการประมวลผลเพิ่มเติม:

คอมไพล์เพิ่ม ไฟล์ 1.txt

ขั้นตอนที่ 5: กระทำการแก้ไข

ยอมรับการเปลี่ยนแปลงทั้งหมดโดยดำเนินการ “ คอมไพล์คอมไพล์ ” คำสั่ง และระบุข้อความโดยใช้ปุ่ม “ -ม ' ตัวเลือก:

คอมไพล์คอมไพล์ -ม 'ไฟล์อัพเดทและเพิ่ม'

ขั้นตอนที่ 6: แสดงรายการสาขา

ตอนนี้ รายชื่อสาขาทั้งหมดโดยเรียกใช้ “ สาขาคอมไพล์ ' สั่งการ:

สาขาคอมไพล์

รูปภาพที่ให้มาแสดงว่าสาขาทั้งหมดถูกแสดงบนคอนโซล:

ขั้นตอนที่ 7: เปลี่ยนสาขา

หากต้องการเปลี่ยนจากสาขาหนึ่งไปอีกสาขาหนึ่ง ให้ดำเนินการ “ คอมไพล์ชำระเงิน คำสั่ง ” และเพิ่มชื่อสาขาที่คุณต้องการย้าย:

คอมไพล์ชำระเงิน คุณสมบัติ2

เป็นผลให้เราเปลี่ยนจาก ' อัลฟ่า ” ถึง “ คุณสมบัติ2 ' สาขา:

ขั้นตอนที่ 8: สร้างไฟล์

ในขั้นตอนที่ระบุนี้ ให้สร้างไฟล์เดียวกันของ ' อัลฟ่า ” สาขาที่มีนามสกุลเดียวกัน:

สัมผัส ไฟล์ 1.txt

ขั้นตอนที่ 9: เปิดไฟล์

ใช้คำสั่งที่ให้ไว้เพื่อเปิดไฟล์ด้วยตัวแก้ไขเริ่มต้นและเพิ่มเนื้อหา:

เริ่มต้น file1.txt

ขั้นตอนที่ 10: ติดตามไฟล์ในพื้นที่จัดเตรียม

ดำเนินการ “ คอมไพล์เพิ่ม ” คำสั่งเพื่อพุชไฟล์จากพื้นที่ทำงานไปยังพื้นที่จัดเตรียม:

คอมไพล์เพิ่ม ไฟล์ 1.txt

ขั้นตอนที่ 11: ยอมรับการเปลี่ยนแปลง

ตอนนี้ ยอมรับการเปลี่ยนแปลงโดยเรียกใช้คำสั่งด้านล่างพร้อมกับข้อความยืนยัน:

คอมไพล์คอมไพล์ -ม 'เพิ่มและอัปเดตไฟล์ในสาขา Feature2'

ขั้นตอนที่ 12: รวมสาขา

ถัดไป ใช้ปุ่ม “ ผสานคอมไพล์ ” คำสั่งรวม “ คุณสมบัติ2 ' กับ ' อัลฟ่า ' สาขา:

ผสานคอมไพล์ อัลฟ่า

ตามผลลัพธ์ที่ให้มา ' ความขัดแย้ง: รวมข้อขัดแย้งใน file1.txt ” ถูกพบ:

ตรวจสอบตำแหน่งที่พบข้อขัดแย้งในไฟล์ที่ระบุโดยเรียกใช้ “ เริ่ม ' สั่งการ:

เริ่มต้น file1.txt

สังเกตได้ว่าเนื้อหาของไฟล์เดียวกันทั้งสองไฟล์นั้นแตกต่างกัน:

ขั้นตอนที่ 13: ยกเลิกการผสาน

ใช้ ' ผสานคอมไพล์ ” คำสั่งพร้อมกับ “ – ยกเลิก ” ตัวเลือกเพื่อลบการดำเนินการผสาน:

ผสานคอมไพล์ --ยกเลิก

ดำเนินการต่อเพื่อแก้ไขข้อขัดแย้งที่ระบุไว้ในส่วนด้านบน

จะแก้ไขความขัดแย้งในการผสาน Git ได้อย่างไร

หากต้องการแก้ไขข้อขัดแย้งในการผสาน Git ให้ทำตามขั้นตอนด้านล่าง:

  • เปิดไฟล์ที่เกิดข้อขัดแย้งและแก้ไข
  • ติดตามและยอมรับการเปลี่ยนแปลง
  • สุดท้ายรวมทั้งสองสาขา

ขั้นตอนที่ 1: แก้ไขไฟล์

เปิดไฟล์ด้วยตัวแก้ไขเริ่มต้นและแก้ไขเนื้อหาตาม ' อัลฟ่า ” ไฟล์ของสาขา:

เริ่มต้น file1.txt

สังเกตได้ว่ามีการแก้ไขไฟล์ จากนั้นกด “ CTRL+S ” และบันทึก:

ขั้นตอนที่ 2: ติดตามไฟล์

เพิ่มไฟล์จากไดเร็กทอรีการทำงานไปยังพื้นที่จัดเตรียมโดยรันคำสั่งที่ให้ไว้:

คอมไพล์เพิ่ม ไฟล์ 1.txt

ขั้นตอนที่ 3: ยอมรับการเปลี่ยนแปลง

หากต้องการยอมรับการเปลี่ยนแปลงทั้งหมด ให้ใช้ปุ่ม “ คอมไพล์คอมไพล์ ' สั่งการ:

คอมไพล์คอมไพล์ -ม 'เพิ่มไฟล์แก้ไขแล้ว'

ส่งผลให้การเปลี่ยนแปลงสำเร็จลุล่วงไปด้วยดี:

ขั้นตอนที่ 4: รวมสาขา

ตอนนี้เรียกใช้ ' ผสานคอมไพล์ ” สาขาพร้อมกับชื่อสาขาอื่นๆ:

ผสานคอมไพล์ อัลฟ่า

เป็นผลให้โปรแกรมแก้ไขข้อความจะเปิดขึ้นและขอเพิ่มข้อความยืนยัน แก้ไขข้อความยืนยันและปิดหลังจากบันทึก:

ผลลัพธ์ที่ระบุด้านล่างแสดงว่าความขัดแย้งในการผสาน Git ได้รับการแก้ไขแล้วและรวมสาขาสำเร็จแล้ว:

นั่นคือทั้งหมดที่เกี่ยวกับการแก้ไขข้อขัดแย้งในการผสาน Git

บทสรุป

ความขัดแย้งในการผสาน Git เกิดขึ้นเมื่อไฟล์เดียวกันถูกแก้ไขในสองสาขาที่มีเนื้อหาต่างกัน เมื่อต้องการแก้ไขข้อขัดแย้งที่ระบุนี้ ให้เปิดไฟล์เดียวกันและแก้ไขเนื้อหาตามไฟล์สาขาอื่น จากนั้นเพิ่มลงในพื้นที่จัดเตรียมและยืนยัน สุดท้าย ใช้ “ ผสานคอมไพล์ ” คำสั่งรวมสาขา โพสต์นี้ได้ระบุวิธีการแก้ไขความขัดแย้งในการผสาน Git