แชร์ผ่าน


การแก้ไขข้อขัดแย้ง

ข้อขัดแย้งเกิดขึ้นเมื่อทํา การเปลี่ยนแปลงไปยังรายการ เดียวกันในทั้งพื้นที่ทํางานและที่เก็บ Git ระยะไกล เมื่อเกิดความขัดแย้งขึ้น สถานะ Git จะระบุว่า ข้อขัดแย้ง และ ยอมรับ ถูกปิดใช้งาน

สกรีนช็อตของรายงานที่มีสถานะ Git ระบุว่าขัดแย้งกัน

เมื่อคุณเลือก อัปเดต เมื่อมีข้อขัดแย้ง ข้อความจะแจ้งให้คุณทราบว่าคุณจําเป็นต้องแก้ไขข้อขัดแย้งต่าง ๆ ก่อนที่คุณจะสามารถอัปเดตได้

สกรีนช็อตของข้อความแสดงข้อผิดพลาดจากแท็บตัวควบคุมต้นทางที่แจ้งเกี่ยวกับข้อขัดแย้ง

มีสามวิธีในการแก้ไขข้อขัดแย้ง:

แก้ไขข้อขัดแย้งใน UI

เลือก อัปเดตทั้งหมด เพื่อดูรายการที่มีข้อขัดแย้งทั้งหมด จากนั้นคุณสามารถเลือกเวอร์ชันที่จะเก็บไว้สําหรับแต่ละรายการได้ สําหรับรายการที่ขัดแย้งแต่ละรายการ คุณสามารถเลือกยอมรับการเปลี่ยนแปลงขาเข้าจากที่เก็บ Git หรือเก็บเวอร์ชันปัจจุบันที่อยู่ในพื้นที่ทํางาน

สกรีนช็อตของ UI เพื่อเลือกเวอร์ชันของรายการที่ขัดแย้งกันที่จะเก็บไว้

  • เลือก ยอมรับการเปลี่ยนแปลง ที่เข้ามาเพื่อแทนที่การเปลี่ยนแปลงในพื้นที่ทํางาน การเปลี่ยนแปลงพื้นที่ทํางานจะหายไป และสถานะของ Git จะเปลี่ยนเป็น ซิงค์ ถ้าการนําเข้าสําเร็จ

  • เลือก เก็บเนื้อหา ปัจจุบันเพื่อเก็บเวอร์ชันในพื้นที่ทํางานในปัจจุบัน หลังจากการอัปเดตเสร็จสมบูรณ์ สถานะ Git จะกลายเป็น การเปลี่ยนแปลง ที่ไม่ได้ผูกมัดเนื่องจากการเปลี่ยนแปลงในพื้นที่ทํางานยังไม่ได้ส่งไปยังสาขา

แปลงกลับเป็นสถานะก่อนหน้า

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

เมื่อต้องการย้อนกลับไปยังสถานะก่อนหน้าที่ซิงค์ ให้ทํา หนึ่งใน การดําเนินการต่อไปนี้:

  • ใช้คําสั่ง เลิกทํา เพื่อแสดงรายการที่มีข้อขัดแย้งในพื้นที่ทํางานให้อยู่ในสถานะที่ซิงค์ครั้งล่าสุด
  • แปลงกลับเป็นสถานะซิงค์ล่าสุดใน Git โดยใช้คําสั่งใน git revert Azure DevOps

คุณยังสามารถแก้ไขข้อขัดแย้งได้โดยการยกเลิกการเชื่อมต่อและเชื่อมต่อพื้นที่ทํางานใหม่ เมื่อคุณเชื่อมต่ออีกครั้ง เลือก ทิศทาง ที่คุณต้องการซิงค์ อย่างไรก็ตาม โปรดทราบว่าเมื่อคุณเชื่อมต่ออีกครั้ง จะเป็นการเขียนทับรายการทั้งหมดในพื้นที่ทํางานหรือสาขาและไม่ใช่เฉพาะรายการที่มีข้อขัดแย้งเท่านั้น จะไม่ส่งกลับพื้นที่ทํางานหรือสาขาไปยังสถานะที่ซิงค์ล่าสุด แต่จะเป็นการเขียนทับเนื้อหาทั้งหมดในตําแหน่งที่ตั้งเดียวที่มีเนื้อหาของอีกที่หนึ่ง

แก้ไขข้อขัดแย้งใน git

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

หมายเหตุ

เฉพาะผู้ดูแลระบบพื้นที่ทํางานเท่านั้นที่สามารถเชื่อมต่อพื้นที่ทํางานกับสาขาใหม่ได้

  1. จากแผงควบคุมแหล่งข้อมูล ให้ตรวจสอบสาขาใหม่โดยใช้ ID สาขาที่ซิงค์ล่าสุดที่แสดงอยู่ที่ด้านล่างของหน้าจอ

    สกรีนช็อตแสดงวิธีการเช็คเอาท์สาขาใหม่จากแผงควบคุมต้นทางโดยการเลือกลูกศรลง

    สกรีนช็อตของข้อมูล ID สาขาที่แสดงที่ด้านล่างของหน้าจอ

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

  2. บันทึกการเปลี่ยนแปลงของคุณลงในสาขาใหม่ สาขาใหม่นี้มีการเปลี่ยนแปลงที่คุณทํากับรายการที่เชื่อมต่อกับเวอร์ชันก่อนหน้าของสาขา Git ที่ไม่ขัดแย้งกับการเปลี่ยนแปลงของคุณ

  3. ใน git แก้ไขความขัดแย้งระหว่างสาขาเดิมและสาขาใหม่

  4. ใน git ผสานสาขาใหม่ลงในสาขาเดิม

  5. ใน Fabric สลับพื้นที่ทํางานกลับไปยังสาขาเดิม