วิธีแก้ไขข้อผิดพลาดการผสาน Git

แนวคิดของสาขาสัมพันธ์กับการทำงานของGit มีสาขาหลักตามมาด้วยหลายสาขาที่แตกแขนงออกมาจากมัน หากคุณเปลี่ยนจากสาขาหนึ่งไปยังอีกสาขาหนึ่ง หรือหากมีข้อขัดแย้งเกี่ยวกับไฟล์สาขา คุณจะพบข้อความแสดงข้อผิดพลาดข้อผิดพลาด Git: คุณต้องแก้ไขดัชนีปัจจุบันของคุณ(Git error: you need to resolve your current index first)ก่อน คุณจะไม่สามารถเปลี่ยนสาขาภายในGitได้ เว้นแต่จะแก้ไขข้อผิดพลาด ไม่จำเป็นต้องตื่นตระหนกในขณะที่เรากำลังจะแก้ไขข้อผิดพลาด Git Merge(Git Merge Error)ในวันนี้

วิธีแก้ไขข้อผิดพลาดการผสาน Git

Git และคุณสมบัติของมัน(Git and its Features)

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

  • ความเร็ว(Speed)
  • ความปลอดภัยของข้อมูล(Data Security)และความสมบูรณ์
  • ความช่วยเหลือ(Assistance)สำหรับกระบวนการแบบกระจายและไม่เชิงเส้น

พูดง่ายๆ ก็คือ Gitเป็นระบบการจัดการที่ ฟรีและ เป็นโอเพ่นซอร์ส (free and open-source)ด้วยความช่วยเหลือจากผู้ร่วมให้ข้อมูลที่หลากหลาย โปรแกรมจะติดตามโครงการและไฟล์ต่างๆ เมื่อมีการแก้ไขในช่วงเวลาหนึ่ง นอกจากนี้Gitยังให้คุณย้อนกลับไปยังสถานะ(roll back to an earlier state)หรือเวอร์ชันก่อนหน้าได้ ในกรณีที่มีข้อผิดพลาด เช่น ข้อผิดพลาดในการผสานGit

คุณสามารถดาวน์โหลด Git สำหรับ ระบบ คอมพิวเตอร์Windows , macOSหรือLinux

วิธีแก้ไขข้อผิดพลาด Git Merge: คุณต้องแก้ไขดัชนีปัจจุบันของคุณก่อน(How to Fix Git Merge Error: You need to resolve your current index first)

ข้อผิดพลาด Git Current Index(Git Current Index)ห้ามมิให้คุณย้ายไปยังสาขาอื่นเนื่องจากข้อขัดแย้งในการผสาน บางครั้งข้อขัดแย้งภายในไฟล์บางไฟล์อาจทำให้เกิดข้อผิดพลาดนี้ได้ แต่ส่วนใหญ่มักปรากฏขึ้นเมื่อมี ความล้ม เหลวในการผสาน (failure in the merge)นอกจากนี้ยังสามารถเกิดขึ้นได้เมื่อคุณใช้เพื่อดึง(pull )หรือชำระเงิน(checkout )คำสั่ง

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

มีสองสาเหตุที่ทราบของ ข้อผิดพลาด ดัชนีปัจจุบันของ Git(Git Current Index) :

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

ประเภทของความขัดแย้งในการผสาน Git(Types of Git Merge Conflicts)

คุณอาจพบข้อผิดพลาด Git Merge(Git Merge Error)ในสถานการณ์ต่อไปนี้:

  • การเริ่มต้นกระบวนการผสาน: กระบวนการ(Starting the Merge Process: )ผสานจะไม่เริ่มต้นเมื่อมีการเปลี่ยนแปลงในพื้นที่ขั้นตอนของไดเร็กทอรีการทำงาน(change in the stage area of the working directory)สำหรับโครงการปัจจุบัน คุณต้องรักษาเสถียรภาพและดำเนินการดำเนินการที่รอดำเนินการให้เสร็จสิ้นก่อน
  • ระหว่างกระบวนการผสาน:(During the Merge Process: )เมื่อมีปัญหา ap ระหว่างสาขาที่กำลังผสานกับสาขาปัจจุบันหรือสาขา(roblem between the branch being merged and the current or local branch)กระบวนการผสานจะไม่เสร็จสมบูรณ์ ในกรณีนี้Gitจะพยายามแก้ไขข้อผิดพลาดด้วยตัวเอง อย่างไรก็ตาม ในบางกรณี คุณอาจต้องแก้ไขเช่นเดียวกัน

ขั้นตอนการเตรียมการ:(Preparatory Steps:)

1. ก่อนดำเนินการคำสั่งเพื่อแก้ไข ข้อผิดพลาดการผสาน Gitคุณต้องตรวจสอบให้แน่ใจว่าไม่มีผู้ใช้รายอื่น(none of the other users)ของไฟล์ที่ผสานเข้าถึงหรือทำการเปลี่ยนแปลงใด ๆ ในไฟล์เหล่านั้น

2. ขอแนะนำให้คุณบันทึกการเปลี่ยนแปลงทั้งหมด(save all the changes)โดยใช้คำสั่ง commit ก่อนตรวจสอบออกจากสาขานั้นหรือก่อนที่จะรวมสาขาปัจจุบันกับสาขาหลัก ใช้คำสั่งที่กำหนดเพื่อคอมมิต:

$ git add
$ git commit -m

หมายเหตุ:(Note:)เราขอแนะนำให้คุณอ่านอภิธานศัพท์(Glossary)ของข้อกำหนดและคำสั่ง(Commands)ทั่วไปของ Git(Common Git)ที่ส่วนท้ายของบทความนี้

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

ตอนนี้ ให้เราเริ่มต้นด้วยการแก้ไข ข้อผิด พลาดGit Current Index ErrorหรือGit Merge Error

วิธีที่ 1: รีเซ็ต Git Merge(Method 1: Reset Git Merge)

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

1. พิมพ์ $ git reset –merge แล้วกดEnter

2. หากไม่ได้ผล ให้ใช้คำสั่ง$ git reset –hard HEAD แล้วกดEnter

สิ่งนี้ควรบรรลุการผสานการรีเซ็ตGit และแก้ไข ข้อผิดพลาด การรวม Git

วิธีที่ 2: รวมสาขาปัจจุบันหรือสาขาปัจจุบันกับสาขาหลัก(Method 2: Merge Present or Current Branch with Head Branch)

ดำเนินการคำสั่งต่อไปนี้ในตัวแก้ไขบันทึกเพื่อสลับไปยังสาขาปัจจุบันและแก้ไขข้อผิดพลาด Git Merge(Git Merge Error) :

1. พิมพ์ git checkout <> จากนั้นกดปุ่มEnter

2. พิมพ์git merge -s master ของเรา(git merge -s ours master )เพื่อดำเนินการ merge commit

หมายเหตุ:(Note:)รหัสต่อไปนี้จะปฏิเสธทุกอย่างจากสาขาหลัก/สาขาหลัก และจัดเก็บข้อมูลจากสาขาปัจจุบันของคุณเท่านั้น

3. ถัดไป ดำเนินการgit checkout masterเพื่อเปลี่ยนกลับเป็นสาขาหลัก

4. สุดท้าย ใช้git merge <> เพื่อรวมทั้งสองบัญชีเข้าด้วยกัน

ทำตามขั้นตอนของวิธีนี้จะเป็นการรวมทั้งสาขาและ ข้อผิดพลาดดัชนีปัจจุบันของ Gitจะได้รับการแก้ไข หากไม่เป็นเช่นนั้น ให้ลองแก้ไขครั้งต่อไป

อ่านเพิ่มเติม: (Also Read:) แสดงหรือซ่อนความขัดแย้งในการผสานโฟลเดอร์ใน Windows 10(Show or Hide Folder Merge Conflicts in Windows 10)

วิธีที่ 3: แก้ไขความขัดแย้งในการผสาน(Method 3: Resolve Merge Conflict)

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

1. ขั้นแรก ระบุ ไฟล์ที่ ก่อให้เกิดปัญหา(trouble-causing)ดังนี้:

  • พิมพ์คำสั่งต่อไปนี้ในตัวแก้ไขโค้ด:   $ vim /path/to/file_with_conflict
  • กดปุ่มEnterเพื่อดำเนินการ

2. ตอนนี้ คอมมิตไฟล์เป็น:

  • พิมพ์ $ git commit -a -m ‘commit message’
  • กดEnter _

หลังจากทำตามขั้นตอนต่อไปนี้แล้ว ให้ลองตรวจสอบ(check out)สาขาและดูว่าได้ผลหรือไม่

วิธีที่ 4: ลบสาขาที่ก่อให้เกิดความขัดแย้ง(Method 4: Delete Conflict Causing Branch)

ลบ(Delete)สาขาที่มีข้อขัดแย้งมากมายและเริ่มต้นใหม่อีกครั้ง เมื่อไม่มีอะไรทำงาน จะเป็นความคิดที่ดีเสมอที่จะลบไฟล์ที่ขัดแย้งกันเพื่อแก้ไขGit Merge Errorดังต่อไปนี้:

1. พิมพ์git checkout -f <>ในตัวแก้ไขโค้ด

2. กดEnter

อ่านเพิ่มเติม: (Also Read:) รวมบัญชี Google Drive และ Google Photos หลายบัญชีเข้า ด้วยกัน(Merge Multiple Google Drive & Google Photos Accounts)

อภิธานศัพท์: คำสั่ง Git ทั่วไป(Glossary: Common Git Commands)

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

1. git log –merge:คำสั่งนี้จะแสดงรายการคำสั่งทั้งหมดที่อยู่เบื้องหลังข้อขัดแย้งMerge ในระบบของคุณ(Merge)

2. git diff : คุณสามารถระบุความแตกต่างระหว่างที่เก็บสถานะหรือไฟล์ได้โดยใช้คำสั่ง git diff

3. git checkout:เป็นไปได้ที่จะเลิกทำการเปลี่ยนแปลงที่ทำกับไฟล์ และคุณยังสามารถเปลี่ยนสาขาได้โดยใช้คำสั่ง git checkout

4. git reset –mixed:เป็นไปได้ที่จะเลิกทำการเปลี่ยนแปลงในไดเร็กทอรีการทำงานและการเปลี่ยนแปลงพื้นที่การแสดงละครโดยใช้มัน

5. git merge –abort:หากคุณต้องการกลับไปที่พื้นที่งานก่อนที่จะรวม คุณสามารถใช้ คำสั่ง Git , git merge –abort ซึ่งจะช่วยให้คุณออกจากกระบวนการผสานได้

6. git reset:ถ้าคุณต้องการรีเซ็ตไฟล์ที่ขัดแย้งกันเป็นสถานะเดิม คุณสามารถใช้คำสั่งนี้ git reset คำสั่งนี้มักจะใช้ในเวลาที่เกิดข้อขัดแย้งในการผสาน

อภิธานศัพท์: เงื่อนไข Git ทั่วไป(Glossary: Common Git Terms)

อ่านข้อกำหนดเหล่านี้เพื่อทำความคุ้นเคยก่อนที่จะแก้ไขGit Merge Error(Git Merge Error)

1. ชำระเงิน(Checkout-) - คำสั่งหรือคำนี้ช่วยผู้ใช้ในการสลับสาขา แต่คุณต้องระวังไฟล์ที่ขัดแย้งกันในขณะทำเช่นนั้น

2. ดึง(Fetch)ข้อมูล – คุณสามารถดาวน์โหลดและถ่ายโอนไฟล์จากสาขาใดสาขาหนึ่งไปยังเวิร์กสเตชันของคุณเมื่อคุณทำการดึงข้อมูลGit

3. ดัชนี-(Index-)เรียกว่าส่วนการทำงาน(Working)หรือการแสดงละครของGit ไฟล์ที่ถูก แก้ไข(Modified)เพิ่มและลบจะถูกเก็บไว้ในดัชนีจนกว่าคุณจะพร้อมที่จะส่งไฟล์

4. ผสาน(Merge) – ย้ายการแก้ไขจากสาขาหนึ่งและรวมเข้ากับสาขาอื่น (ต้นแบบดั้งเดิม)

5. HEAD –เป็นส่วนหัว(head ) ที่สงวนไว้ (ชื่ออ้างอิง) ที่ใช้ระหว่างการส่ง

ที่แนะนำ:(Recommended:)

เราหวังว่าคำแนะนำของเราจะช่วยได้ และคุณสามารถแก้ไขข้อผิดพลาด Git Merge ได้ คุณต้องแก้ไขดัชนีปัจจุบันของคุณ( Git Merge error: you need to resolve your current index first)ก่อน หากคุณมีคำถามใด ๆ วางไว้ในส่วนความคิดเห็น



About the author

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



Related posts