การแก้ไขข้อขัดแย้ง
ข้อขัดแย้งเกิดขึ้นเมื่อทํา การเปลี่ยนแปลงไปยังรายการ เดียวกันในทั้งพื้นที่ทํางานและที่เก็บ Git ระยะไกล เมื่อเกิดความขัดแย้งขึ้น สถานะ Git จะระบุว่า ข้อขัดแย้ง และ ยอมรับ ถูกปิดใช้งาน
เมื่อคุณเลือก อัปเดต เมื่อมีข้อขัดแย้ง ข้อความจะแจ้งให้คุณทราบว่าคุณจําเป็นต้องแก้ไขข้อขัดแย้งต่าง ๆ ก่อนที่คุณจะสามารถอัปเดตได้
มีสามวิธีในการแก้ไขข้อขัดแย้ง:
- เลือกเวอร์ชันที่จะเก็บไว้ใน UI
- แปลงกลับ พื้นที่ทํางานหรือที่เก็บ Git เป็นสถานะซิงค์ก่อนหน้า
- แก้ไข ข้อขัดแย้งใน Git
แก้ไขข้อขัดแย้งใน UI
เลือก อัปเดตทั้งหมด เพื่อดูรายการที่มีข้อขัดแย้งทั้งหมด จากนั้นคุณสามารถเลือกเวอร์ชันที่จะเก็บไว้สําหรับแต่ละรายการได้ สําหรับรายการที่ขัดแย้งแต่ละรายการ คุณสามารถเลือกยอมรับการเปลี่ยนแปลงขาเข้าจากที่เก็บ Git หรือเก็บเวอร์ชันปัจจุบันที่อยู่ในพื้นที่ทํางาน
เลือก ยอมรับการเปลี่ยนแปลง ที่เข้ามาเพื่อแทนที่การเปลี่ยนแปลงในพื้นที่ทํางาน การเปลี่ยนแปลงพื้นที่ทํางานจะหายไป และสถานะของ Git จะเปลี่ยนเป็น ซิงค์ ถ้าการนําเข้าสําเร็จ
เลือก เก็บเนื้อหา ปัจจุบันเพื่อเก็บเวอร์ชันในพื้นที่ทํางานในปัจจุบัน หลังจากการอัปเดตเสร็จสมบูรณ์ สถานะ Git จะกลายเป็น การเปลี่ยนแปลง ที่ไม่ได้ผูกมัดเนื่องจากการเปลี่ยนแปลงในพื้นที่ทํางานยังไม่ได้ส่งไปยังสาขา
แปลงกลับเป็นสถานะก่อนหน้า
คุณสามารถแปลงกลับทั้งพื้นที่ทํางานหรือสาขา Git เป็นสถานะที่ซิงค์ครั้งล่าสุดได้ ถ้าคุณแปลงกลับสาขา Git เป็นบันทึกก่อนหน้านี้ คุณยังคงสามารถดูการเปลี่ยนแปลงที่ทํากับสาขาที่ยังไม่ได้ขยายได้ ถ้าคุณแปลงกลับพื้นที่ทํางาน คุณจะสูญเสียการเปลี่ยนแปลงทั้งหมดที่ทํากับพื้นที่ทํางานนับตั้งแต่ยอมรับครั้งล่าสุด
เมื่อต้องการย้อนกลับไปยังสถานะก่อนหน้าที่ซิงค์ ให้ทํา หนึ่งใน การดําเนินการต่อไปนี้:
- ใช้คําสั่ง เลิกทํา เพื่อแสดงรายการที่มีข้อขัดแย้งในพื้นที่ทํางานให้อยู่ในสถานะที่ซิงค์ครั้งล่าสุด
- แปลงกลับเป็นสถานะซิงค์ล่าสุดใน Git โดยใช้คําสั่งใน
git revert
Azure DevOps
คุณยังสามารถแก้ไขข้อขัดแย้งได้โดยการยกเลิกการเชื่อมต่อและเชื่อมต่อพื้นที่ทํางานใหม่ เมื่อคุณเชื่อมต่ออีกครั้ง เลือก ทิศทาง ที่คุณต้องการซิงค์ อย่างไรก็ตาม โปรดทราบว่าเมื่อคุณเชื่อมต่ออีกครั้ง จะเป็นการเขียนทับรายการทั้งหมดในพื้นที่ทํางานหรือสาขาและไม่ใช่เฉพาะรายการที่มีข้อขัดแย้งเท่านั้น จะไม่ส่งกลับพื้นที่ทํางานหรือสาขาไปยังสถานะที่ซิงค์ล่าสุด แต่จะเป็นการเขียนทับเนื้อหาทั้งหมดในตําแหน่งที่ตั้งเดียวที่มีเนื้อหาของอีกที่หนึ่ง
แก้ไขข้อขัดแย้งใน git
ถ้าคุณไม่แน่ใจว่ามีการเปลี่ยนแปลงอะไรบ้าง และเวอร์ชันใดที่เลือกและไม่ต้องการแปลงกลับเป็นสถานะก่อนหน้า คุณสามารถลองแก้ไขความขัดแย้งใน Git repo โดยการสร้างสาขาใหม่ แก้ไขความขัดแย้งในสาขานั้น และซิงค์กับสาขาปัจจุบัน
หมายเหตุ
เฉพาะผู้ดูแลระบบพื้นที่ทํางานเท่านั้นที่สามารถเชื่อมต่อพื้นที่ทํางานกับสาขาใหม่ได้
จากแผงควบคุมแหล่งข้อมูล ให้ตรวจสอบสาขาใหม่โดยใช้ ID สาขาที่ซิงค์ล่าสุดที่แสดงอยู่ที่ด้านล่างของหน้าจอ
ขั้นตอนนี้สร้างสาขาใหม่จากสาขาที่ขัดแย้งกันโดยใช้สถานะ Git ที่ซิงค์ล่าสุดก่อนที่จะมีการเปลี่ยนแปลงที่ขัดแย้งกับการเปลี่ยนแปลงของคุณ คุณสามารถดูการเปลี่ยนแปลงของคุณได้ใน แผงควบคุม แหล่งข้อมูล แต่ไม่มีสิ่งใดที่ต้องอัปเดตจากสาขา Git สาขาที่ชําระเงินจะรักษาสถานะพื้นที่ทํางานปัจจุบัน ไว้ ดังนั้นการเปลี่ยนแปลงที่ไม่ได้ผูกมัดจะถูกเก็บรักษาไว้เมื่อเปลี่ยนสาขา
บันทึกการเปลี่ยนแปลงของคุณลงในสาขาใหม่ สาขาใหม่นี้มีการเปลี่ยนแปลงที่คุณทํากับรายการที่เชื่อมต่อกับเวอร์ชันก่อนหน้าของสาขา Git ที่ไม่ขัดแย้งกับการเปลี่ยนแปลงของคุณ
ใน git แก้ไขความขัดแย้งระหว่างสาขาเดิมและสาขาใหม่
ใน git ผสานสาขาใหม่ลงในสาขาเดิม