
ฟังก์ชัน Git เชื่อมโยงกับแนวคิดของสาขา มีสาขาหลักซึ่งสาขาอื่น ๆ แตกกิ่งก้านสาขาออกไป คุณจะสังเกตเห็น 'ข้อผิดพลาด Git: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน' หากคุณเปลี่ยนจากสาขาหนึ่งไปยังอีกสาขาหนึ่ง หรือหากมีข้อขัดแย้งกับไฟล์สาขา
คุณจะไม่สามารถสลับสาขาใน Git ได้จนกว่าปัญหาจะได้รับการแก้ไข ไม่ต้องกลัวเพราะเราจะแก้ไขข้อผิดพลาด Git Merge ในวันนี้
มีเอกสาร การควบรวมกิจการ และข้อพิพาทอะไรบ้าง? คำศัพท์เหล่านี้อาจไม่คุ้นเคยสำหรับคุณหากคุณเริ่มด้วย Git Git เป็นระบบการจัดการเวอร์ชันที่ช่วยให้ผู้ใช้หลายคนสามารถทำงานบนไฟล์ได้พร้อมกันและพุชสำเนาในเครื่องไปยังเวอร์ชันที่จัดเก็บบนคลาวด์
การแก้ไขโค้ดที่ดาวน์โหลด (หรือส่งไปแล้ว) จะแทนที่การเปลี่ยนแปลงในระบบคลาวด์ด้วยสำเนาในเครื่องของคุณ
Git มีแนวคิดสาขา สาขาหลักสามารถเข้าถึงได้และสาขาต่างๆได้แยกออกจากกัน ปัญหานี้เป็นเรื่องปกติเมื่อคุณโอน (โดยใช้การชำระเงิน) จากสาขาหนึ่งไปยังอีกสาขาหนึ่งเมื่อไฟล์ในสาขาปัจจุบันขัดแย้งกัน หากสาขาไม่ได้รับการแก้ไข คุณจะไม่สามารถสลับสาขาได้
Git และคุณสมบัติของมัน
Git คือแพลตฟอร์มหรือโค้ดควบคุมเวอร์ชันที่ให้คุณติดตามการเปลี่ยนแปลงของคอลเลกชันไฟล์ต่างๆ โดยปกติโปรแกรมเมอร์จะใช้มันเพื่อประสานงานความพยายามของพวกเขา Git มีลักษณะสำคัญหลายประการ เช่น:
- ความเร็ว
- ความสมบูรณ์ของข้อมูลและความปลอดภัย
- ความช่วยเหลือสำหรับกระบวนการที่ไม่เป็นเชิงเส้นแบบกระจาย
ระบบควบคุมเวอร์ชันแบบกระจายช่วยให้นักพัฒนาจำนวนมากทำงานคู่ขนานกันโดยไม่มีข้อโต้แย้งเกี่ยวกับโค้ด Git ช่วยให้นักพัฒนาสามารถเปลี่ยนรหัสกลับไปเป็นเวอร์ชันก่อนหน้าได้หากต้องการ
Git ติดตามไฟล์โครงการสำหรับทั้งวิศวกรและพนักงานที่ไม่ใช่ด้านเทคนิค ช่วยให้หลายคนทำงานร่วมกันได้ง่ายขึ้น และมีความสำคัญอย่างยิ่งในโครงการหลักที่มีทีมขนาดใหญ่
Git เป็นโอเพ่นซอร์ส โซลูชันการจัดการฟรี พูดง่ายๆ ก็คือ มันคอยติดตามโครงการและไฟล์ที่เปลี่ยนแปลงตลอดเวลาด้วยความช่วยเหลือจากผู้ทำงานร่วมกันหลายคน นอกจากนี้ Git ยังให้คุณย้อนกลับไปยังสถานะหรือเวอร์ชันก่อนหน้าได้ในกรณีที่เกิดข้อผิดพลาด เช่น ข้อผิดพลาดในการผสาน Git
ทำให้เกิดข้อผิดพลาด Git: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน
ดังที่ได้กล่าวไปแล้วมีสาเหตุค่อนข้างน้อยสำหรับปัญหานี้ คุณอาจได้รับข้อผิดพลาดนี้เนื่องจาก:
- การผสานล้มเหลว และคุณต้องระงับข้อพิพาทเกี่ยวกับการหลอมรวมก่อนที่จะไปยังงานเพิ่มเติม
- คุณไม่สามารถตรวจสอบสาขาหรือรหัสพุชได้เนื่องจากข้อขัดแย้งในไฟล์ปัจจุบันของคุณ (หรือสาขาที่คุณต้องการ)
ตรวจสอบให้แน่ใจว่าคุณมีการควบคุมเวอร์ชันที่เพียงพอก่อนที่จะดำเนินการแก้ไขปัญหา และเป็นความคิดที่ดีที่จะป้องกันไม่ให้สมาชิกในทีมคนอื่นทำการเปลี่ยนแปลงโค้ดจนกว่าข้อโต้แย้งจะได้รับการแก้ไข
วิธีแก้ไข “Git Merge Error: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน”?
คุณไม่สามารถเปลี่ยนไปใช้สาขาอื่นได้เนื่องจากข้อขัดแย้งในการผสาน ตามข้อผิดพลาดของดัชนีปัจจุบันของ Git ความขัดแย้งระหว่างสองไฟล์อาจทำให้เกิดข้อผิดพลาดนี้ได้ในบางครั้ง แต่มักเกิดขึ้นเมื่อการรวมล้มเหลว การใช้คำสั่งเพื่อดึงหรือ git-checkout ก็สามารถทำให้เกิดได้เช่นกัน
ประเภทของความขัดแย้งในการผสาน Git
สถานการณ์ต่อไปนี้อาจส่งผลให้เกิดข้อผิดพลาดในการผสาน Git:
- เริ่มต้นกระบวนการผสาน: เมื่อไดเร็กทอรีการทำงานสำหรับโปรเจ็กต์ปัจจุบันเปลี่ยนแปลง ขั้นตอนการผสานจะไม่เริ่มขึ้น ก่อนอื่นคุณต้องรวบรวมความสงบและทำงานที่เปิดอยู่ให้เสร็จ
- ระหว่างขั้นตอนการผสาน: กระบวนการผสานจะไม่เสร็จสิ้นหากมีข้อขัดแย้งระหว่างสาขาที่กำลังรวมเข้ากับสาขาปัจจุบันหรือสาขาท้องถิ่น ในสถานการณ์นี้ Git พยายามแก้ไขปัญหาด้วยตัวเอง คุณอาจต้องแก้ไขสถานการณ์ในบางกรณี
ขั้นตอนการเตรียมการ
1. คุณต้องตรวจสอบให้แน่ใจว่าไม่มีผู้ใช้รายอื่นของไฟล์ที่รวมเข้าด้วยกันหรือได้ทำการแก้ไขใด ๆ ก่อนเรียกใช้คำแนะนำเพื่อแก้ไขปัญหาการผสาน Git
2. ก่อนเช็คเอาท์จากสาขานั้นหรือรวมสาขาปัจจุบันกับสาขาหลัก ขอแนะนำให้คุณบันทึกการเปลี่ยนแปลงทั้งหมดโดยใช้คำสั่ง commit ใช้คำแนะนำที่ให้ไว้เพื่อคอมมิต:
$ git add
$ git commit -m

เริ่มต้นด้วยการแก้ไขข้อผิดพลาด Git Current Index Error หรือ Git Merge Error
- การแก้ไขความขัดแย้งในการผสาน
- เปลี่ยนการผสานของคุณ
- รวมสาขาปัจจุบันเข้ากับสาขาหลัก
- ลบสาขาที่ผิดพลาด
ตอนนี้ให้เราพูดถึงขั้นตอนต่อไปนี้ทีละรายการ:
1: การแก้ไขความขัดแย้งในการผสาน
หาก Git ไม่แก้ไขการผสานโดยอัตโนมัติ Git จะปล่อยให้แผนผังการทำงานและดัชนีอยู่ในสถานะที่กำหนด ทำให้คุณสามารถเข้าถึงข้อมูลทั้งหมดที่คุณต้องการได้
คุณจะเห็นข้อความแสดงข้อผิดพลาดนี้ก่อนที่คุณจะแก้ไขปัญหา 'ข้อผิดพลาด: คุณต้องแก้ไขปัญหาดัชนีปัจจุบันของคุณก่อน' และอัปเดตดัชนีเนื่องจากไฟล์ที่มีข้อขัดแย้งระบุไว้ในดัชนีโดยเฉพาะ
1. ยุติข้อพิพาททั้งหมด เนื่องจากดัชนีระบุถึงพวกเขา จึงควรตรวจสอบและแก้ไขไฟล์ที่ขัดแย้งกัน
2. เพิ่มไฟล์และคอมมิตเมื่อข้อขัดแย้งทั้งหมดได้รับการแก้ไขแล้ว
ตัวอย่างคือ:
$ git add file.txt
$ git commit
คุณมีอิสระที่จะส่งข้อสังเกตส่วนตัว นี่คือตัวอย่างหนึ่ง:
$ git commit –m “นี่คือ READUS Git repository”
3. เมื่อข้อขัดแย้งได้รับการแก้ไขแล้ว ให้ตรวจสอบสาขาปัจจุบันของคุณเพื่อดูว่าปัญหาได้รับการแก้ไขแล้วหรือไม่
2: คืนค่าการผสานของคุณ

มีหลายกรณีที่การรวมสาขาอาจผิดพลาดได้ ขณะนี้โครงการกำลังวุ่นวายเนื่องจากความขัดแย้งและความเข้าใจผิดทั้งหมด และสมาชิกในทีมของคุณตำหนิคุณ
จะช่วยได้หากคุณยกเลิกการคอมมิตก่อนหน้าในสถานการณ์นี้ (การรวมคอมมิต) การดำเนินการนี้จะย้อนกลับการผสานอย่างสมบูรณ์และคืนโปรเจ็กต์กลับเป็นเงื่อนไขก่อนดำเนินการผสานใดๆ หากคุณได้รับความเสียหายอย่างไม่สามารถแก้ไขได้ สิ่งนี้อาจช่วยชีวิตคุณได้
พิมพ์ข้อมูลต่อไปนี้เพื่อย้อนกลับการรวม:
-
$ git reset --merge
และกดเข้าไป
คำสั่งด้านบนจะอัปเดตไฟล์ในแผนผังการทำงานที่แตกต่างกันระหว่าง 'commit' และ 'head' และรีเซ็ตดัชนี อย่างไรก็ตาม มันจะเก็บไฟล์ที่แตกต่างกันระหว่างแผนผังการทำงานและดัชนี
คำสั่งต่อไปนี้ยังสามารถใช้เพื่อพยายามเปลี่ยนกลับเป็น HEAD:
- พิมพ์
$ git reset --hard HEAD
และกด Enter
คุณสามารถใช้คำสั่งด้านบนพร้อมตัวเลือกเพิ่มเติมเพื่อระบุการผสานที่แม่นยำที่คุณต้องการกลับไป แฮช SHA1 ของคอมมิตการรวมจะถูกใช้ เราต้องการรักษาเว็บไซต์หลักของการรวม ซึ่งระบุโดย -m และหมายเลข 1 (สาขาที่เรากำลังรวมเข้าด้วยกัน)
ผลจากการย้อนกลับนี้ Git จะสร้างคอมมิตใหม่ที่เลิกทำการแก้ไขของการผสาน:
- พิมพ์
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
และกด Enter
3: รวมสาขาปัจจุบันเข้ากับสาขาหลัก

หากต้องการเปลี่ยนไปใช้สาขาปัจจุบันและแก้ไขข้อผิดพลาด Git Merge ให้ใช้คำแนะนำด้านล่างในตัวแก้ไขบันทึกย่อ:
- กดปุ่ม Enter หลังจากพิมพ์
git checkout<>
.
ดำเนินการคำสั่งถัดไปเพื่อสร้างการรวมที่เก็บรักษาทุกอย่างจากสาขาปัจจุบันของคุณและลบทุกอย่างออกจากสาขาหลัก:
- พิมพ์
git merge -s ours master
.
หากต้องการกลับไปที่มาสเตอร์แบรนช์ ให้รันคำสั่งต่อไปนี้ทันที:
-
git checkout master
จากนั้น ใช้คำสั่งต่อไปนี้ในตัวแก้ไขโค้ดของคุณเพื่อรวมทั้งสองสาขา:
-
git merge <>
4: ลบสาขาที่ผิดพลาด
กำจัดสาขาที่มีข้อขัดแย้งมากมายและเริ่มต้นใหม่ เมื่อทุกอย่างล้มเหลว คุณควรลบไฟล์ที่เข้ากันไม่ได้เพื่อแก้ไขข้อผิดพลาด Git Merge ดังที่แสดงด้านล่าง:
- ในตัวแก้ไขโค้ด พิมพ์
git checkout -f <>
. - กดปุ่มตกลง.
อภิธานศัพท์: คำสั่ง Git ทั่วไป
คอลเลกชันต่อไปนี้ของ Git คำสั่งจะให้ภาพรวมโดยย่อของฟังก์ชันในการแก้ไขข้อผิดพลาด Git Merge: คุณต้องแก้ไขดัชนีปัจจุบันของคุณ
- บันทึก git - ผสาน: คำสั่งนี้จะส่งคืนรายการคำสั่งทั้งหมดในระบบของคุณที่เกี่ยวข้องกับข้อขัดแย้งในการผสาน
- git diff : อาจใช้โปรแกรม git diff เพื่อค้นหาความแตกต่างระหว่างสถานะ ที่เก็บ หรือไฟล์ต่างๆ
- git checkout : การใช้คำสั่ง git checkout คุณสามารถย้อนกลับการเปลี่ยนแปลงในไฟล์และสลับไปมาระหว่างสาขาได้
- git รีเซ็ต - ผสม: คำสั่งนี้สามารถใช้เพื่อเลิกทำการเปลี่ยนแปลงในไดเร็กทอรีการทำงานและพื้นที่จัดเตรียม4
- git ผสาน -abort: คุณสามารถใช้คำสั่ง Git git merge เพื่อย้อนกลับไปยังพื้นที่งานก่อนที่จะทำการรวม สิ่งนี้จะช่วยในการถอนตัวจากกระบวนการควบรวมกิจการด้วย
- รีเซ็ต git: หากคุณต้องการกู้คืนไฟล์ที่ขัดแย้งกันกลับเป็นสถานะเดิม ให้ใช้คำสั่ง git reset คำสั่งนี้มักใช้เมื่อมีความขัดแย้งในการผสาน
อภิธานศัพท์: เงื่อนไข Git ทั่วไป
ก่อนที่จะพยายามแก้ไขข้อผิดพลาด Git Merge ให้ทำความคุ้นเคยกับคำศัพท์ต่อไปนี้ หากคุณเป็นมือใหม่ที่ Git คุณจะไม่คุ้นเคยกับคำเหล่านี้
- เช็คเอาท์- คำสั่งหรือคำนี้ช่วยให้ผู้ใช้เปลี่ยนระหว่างสาขาได้ อย่างไรก็ตาม คุณต้องระมัดระวังเกี่ยวกับความขัดแย้งของไฟล์เมื่อทำเช่นนั้น
- ดึงข้อมูล- เมื่อคุณทำการดึงข้อมูล Git คุณสามารถดาวน์โหลดและย้ายข้อมูลจากสาขาที่ต้องการไปยังเวิร์กสเตชันของคุณได้
- ดัชนี- นี่คือส่วนการทำงานหรือการแสดงละครของ Git ไฟล์ที่แก้ไข เพิ่ม หรือลบจะถูกเก็บไว้ในดัชนีจนกว่าคุณจะพร้อมที่จะคอมมิต
- ผสาน- ทำการเปลี่ยนแปลงจากสาขาหนึ่งและรวมเป็นอีกสาขาหนึ่ง (มักจะเป็นสาขาหลัก)
- ศีรษะ - ส่วนหัวที่สงวนไว้ (ชื่ออ้างอิง) ที่ใช้ระหว่างการส่ง
บทสรุป
เราหวังว่าคำแนะนำของเราจะเป็นประโยชน์ และคุณสามารถเอาชนะข้อผิดพลาด Git Merge ได้ คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน
คำถามที่พบบ่อย
ต้องการ Merge Mean ใน Git อย่างไร
ข้อผิดพลาด “คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน” เกิดขึ้นใน Git และบ่งชี้ว่ามีความขัดแย้งในการผสาน และคุณจะไม่สามารถชำระเงินไปยังสาขาอื่นได้จนกว่าปัญหาจะได้รับการแก้ไข ข้อความแสดงข้อผิดพลาดนี้ยังบ่งชี้ว่าการรวมล้มเหลวหรือมีข้อขัดแย้งของไฟล์
คำสั่งสาขา Git ทำอะไร?
คุณสามารถใช้คำสั่ง git branch เพื่อสร้าง แสดงรายการ เปลี่ยนชื่อ และลบสาขา ไม่อนุญาตให้คุณสลับระหว่างสาขาหรือสร้างประวัติแยกใหม่ ด้วยเหตุนี้ คำสั่ง git branch จึงมีการเชื่อมโยงอย่างมากกับขั้นตอน git checkout และ git merge