วิธีแก้ไข Git Error: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน

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

ข้อผิดพลาด: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อนในการควบคุมแหล่ง Git

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

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

อะไรเป็นสาเหตุของ Git Error: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อนหรือไม่?

ดังที่ได้กล่าวไว้ก่อนหน้านี้สาเหตุของข้อผิดพลาดนี้ค่อนข้าง จำกัด คุณจะพบข้อผิดพลาดนี้เนื่องจาก:

  • การผสานล้มเหลวและคุณต้องจัดการกับข้อขัดแย้งในการผสานก่อนที่จะดำเนินการต่อกับงานอื่น
  • มีข้อขัดแย้งในไฟล์ที่สาขาปัจจุบันของคุณ (หรือสาขาเป้าหมาย) และเนื่องจากข้อขัดแย้งเหล่านี้คุณจะไม่สามารถตรวจสอบสาขาหรือรหัสพุชได้

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

โซลูชันที่ 1: การแก้ไขความขัดแย้งในการผสาน

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

  1. แก้ไขความขัดแย้งทั้งหมด ตรวจสอบไฟล์ที่มีข้อขัดแย้งเนื่องจากจะถูกทำเครื่องหมายโดยดัชนีและทำการเปลี่ยนแปลงตามนั้น
  2. หลังจากที่คุณได้รับการแก้ไขทุกปัญหาความขัดแย้งที่มีอยู่เพิ่มไฟล์แล้วกระทำ

ตัวอย่างคือ:

$ git เพิ่ม file.txt $ git คอมมิต

คุณสามารถเพิ่มข้อคิดเห็นส่วนตัวของคุณในขณะที่กระทำ ตัวอย่างคือ:

$ git กระทำ –m“ นี่คือที่เก็บ Appuals Git”
  1. หลังจากที่คุณแก้ไขข้อขัดแย้งแล้วให้ลองตรวจสอบจากสาขาที่คุณมีอยู่และดูว่าปัญหาได้รับการแก้ไขหรือไม่

โซลูชันที่ 2: การคืนค่าการผสานของคุณ

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

หากต้องการยกเลิกการผสานให้พิมพ์ดังต่อไปนี้:

$ git รีเซ็ต -–merge

คำสั่งดังกล่าวจะรีเซ็ตดัชนีและอัปเดตไฟล์ในโครงสร้างการทำงานที่แตกต่างกันระหว่าง 'การกระทำ' และ 'ส่วนหัว' อย่างไรก็ตามมันจะเก็บไฟล์เหล่านั้นซึ่งแตกต่างกันระหว่างดัชนีและแผนผังการทำงาน

คุณยังสามารถลองเปลี่ยน HEAD ได้โดยใช้คำสั่งต่อไปนี้:

$ git เปลี่ยนกลับ HEAD

หากคุณต้องการระบุการรวมคอมมิตที่คุณต้องการเปลี่ยนกลับคุณสามารถใช้คำสั่ง revert เดียวกัน แต่ระบุพารามิเตอร์เพิ่มเติม แฮช SHA1 ของคอมมิตการผสานจะถูกใช้ -m ตามด้วย 1 แสดงว่าเราต้องการเก็บฝั่งแม่ของการผสาน (สาขาที่เรารวมเข้าด้วยกัน) ผลลัพธ์ของการย้อนกลับนี้คือ Git จะสร้างคอมมิตใหม่ที่ย้อนกลับการเปลี่ยนแปลงจากการผสาน

$ git ย้อนกลับ -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>