Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาดของ Windows

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

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

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

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

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

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

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

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

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

แนวทางที่ 1:การแก้ไขข้อขัดแย้งในการผสาน

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

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

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

$ git add file.txt

$ git commit

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

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

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

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

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

$ git reset -–merge

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

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

$ git revert HEAD

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>