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

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

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

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

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

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

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

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

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

โซลูชันที่ 1: แก้ไขข้อขัดแย้งผสาน

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

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

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

 $ git เพิ่ม file.txt $ git กระทำ 

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

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

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

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

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

 $ git reset –merge 

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

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

 $ git ย้อนกลับ HEAD 

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

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

บทความที่น่าสนใจ