Как да поправите грешката в Git: Първо трябва да разрешите текущия си индекс

Грешката „ Първо трябва да разрешите текущия си индекс “ се появява в Git и означава, че има конфликт за сливане и ако не разрешите конфликта, няма да ви бъде разрешено да се свържете с друг клон. Това съобщение за грешка също означава, че сливането е неуспешно или има конфликти с файловете.

Грешка: Първо трябва да разрешите текущия си индекс

Какви са всички тези файлове, сливания и конфликти? Тези условия ще ви бъдат непознати, ако сте начинаещ в използването на Git. Git е платформа за контрол на версиите, която позволява на няколко души да работят по файлове едновременно и да избутват локалното си копие на кода до този, който се съхранява в облака. По този начин, ако промените някой изтеглен (или вече натиснат) код и го натиснете отново в облака, промените ще бъдат презаписани в облака от вашето локално копие.

Git има концепция за клонове. Има главен клон и няколко други клона се разклоняват от него. Тази грешка възниква особено, ако преминавате от един клон в друг (използвайки касиране) и има конфликти във файловете на текущия клон. Ако те не бъдат разрешени, няма да можете да превключвате клонове.

Какво причинява грешката в Git: Първо трябва да разрешите текущия си индекс?

Както споменахме преди, причините за тази грешка са доста ограничени. Ще получите тази грешка, защото:

  • Сливането не бе успешно и трябва да разрешите конфликта на сливането, преди да продължите с други задачи.
  • Има конфликти във файловете във вашия текущ (или насочен клон) и поради тези конфликти няма да можете да излезете от клон или push код.

Преди да продължите с решението, уверете се, че имате правилен контрол на версиите и е разумно да спрете другите членове на екипа да променят кода, преди да разрешите конфликта.

Решение 1: Разрешаване на конфликта за сливане

Ако сливането ви не се разреши автоматично от Git, той оставя индекса и работното дърво в специално състояние, което ви помага да предоставите цялата информация, която ви е необходима, за да разрешите сливането. Файловете, които имат конфликти, ще бъдат маркирани специално в индекса и докато не разрешите проблема и актуализирате индекса, ще продължите да получавате това съобщение за грешка.

  1. Разрешете всички конфликти . Проверете файловете, които имат конфликти, тъй като те ще бъдат маркирани от индекса и направете съответните промени в тях.
  2. След като разрешите всички съществуващи конфликти, добавете файла и след това ангажирайте .

Пример е:

 $ git add file.txt $ git ангажимент 

Можете да добавите личния си коментар, докато се ангажирате. Пример е:

 $ git ангажимент - m „Това е Appuals Git хранилище“ 
  1. След като разрешите конфликта, опитайте да проверите съществуващия си клон и да видите дали проблемът е отстранен.

Решение 2: Възстановяване на вашето сливане

Има много случаи, когато обединявате клони и обърквате. Поради всички конфликти и обърквания, проектът вече е в каша и членовете на вашия екип ви обвиняват в това. В този случай трябва да върнете предишния ангажимент (ангажимент за сливане) . Това ще отмени сливането изцяло и ще върне целия проект до състояние, когато не сте извършили никакви сливания. Това може да бъде спасител, ако сте объркали нещата след ремонт.

За да възстановите сливането, въведете следното:

 $ git нулиране - сменете 

Горната команда ще нулира индекса и ще актуализира файловете в работното дърво, които са различни между „ангажиране“ и „глава“. Въпреки това, той ще запази тези файлове, които са различни между индекса и работното дърво.

Можете също да опитате да обърнете HEAD, като използвате следната команда:

 $ git revert HEAD 

Ако искате да зададете точния ангажимент за сливане, който искате да възстановите, можете да използвате същата команда за връщане, но да зададете допълнителни параметри. Ще бъде използван хешът SHA1 на ангажимента за сливане. The -m последвано от 1 показва, че искаме да запазим родителската страна на сливането (клона, в който се сливаме). Резултатът от това възстановяване е, че Git ще създаде нов ангажимент, който отменя промените от сливането.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Интересни Статии