Jak naprawić błąd Git: Najpierw musisz rozwiązać bieżący indeks

Błąd „ Najpierw musisz rozwiązać bieżący indeks ” występuje w Git i oznacza, że ​​występuje konflikt scalania i dopóki nie rozwiążesz konfliktu, nie będziesz mógł dokonać transakcji do innej gałęzi. Ten komunikat o błędzie oznacza również, że scalenie nie powiodło się lub wystąpiły konflikty z plikami.

Błąd: Najpierw musisz rozwiązać bieżący indeks

Co to są te wszystkie pliki, scalenia i konflikty? Warunki te będą Ci nieznane, jeśli dopiero zaczynasz korzystać z Git. Git to platforma kontroli wersji, która pozwala kilku osobom pracować jednocześnie nad plikami i przesyłać ich lokalną kopię kodu do tej przechowywanej w chmurze. W ten sposób, jeśli zmienisz część pobranego (lub już wypchniętego) kodu i wrzucisz go ponownie do chmury, zmiany zostaną zastąpione w chmurze przez lokalną kopię.

Git ma pojęcie oddziałów. Istnieje gałąź główna i kilka innych gałęzi. Ten błąd występuje szczególnie wtedy, gdy przechodzisz z jednej gałęzi do drugiej (za pomocą kasy) i występują konflikty w plikach bieżącej gałęzi. Jeśli nie zostaną rozwiązane, nie będzie można zmieniać gałęzi.

Co powoduje błąd Git: Najpierw musisz rozwiązać bieżący indeks?

Jak wspomniano wcześniej, przyczyny tego błędu są dość ograniczone. Ten błąd wystąpi, ponieważ:

  • Scalanie nie powiodło się i musisz rozwiązać konflikt scalania przed przejściem do innych zadań.
  • W plikach w bieżącym (lub docelowym oddziale) występują konflikty i z powodu tych konfliktów nie będzie można wyewidencjonować kodu oddziału ani kodu push.

Zanim przejdziesz do rozwiązania, upewnij się, że masz odpowiednią kontrolę wersji i mądrze jest powstrzymać innych członków zespołu przed zmianą kodu przed rozwiązaniem konfliktu.

Rozwiązanie 1: Rozwiązanie konfliktu scalania

Jeśli Twoje scalenie nie zostanie automatycznie rozwiązane przez Git, pozostawia indeks i drzewo robocze w specjalnym stanie, który pomaga ci uzyskać wszystkie informacje potrzebne do rozwiązania scalenia. Pliki, które powodują konflikty, zostaną specjalnie oznaczone w indeksie i dopóki nie rozwiążesz problemu i nie zaktualizujesz indeksu, będziesz nadal otrzymywać ten komunikat o błędzie.

  1. Rozwiąż wszystkie konflikty . Sprawdź pliki, w których występują konflikty, ponieważ będą one oznaczone przez indeks i odpowiednio je wprowadź.
  2. Po rozwiązaniu wszystkich istniejących konfliktów dodaj plik, a następnie zatwierdź .

Przykładem jest:

 $ git dodaj plik.txt $ git commit 

Podczas dodawania możesz dodać swój osobisty komentarz. Przykładem jest:

 $ git commit –m „To jest repozytorium Git Appuals” 
  1. Po rozwiązaniu konfliktu spróbuj sprawdzić w istniejącym oddziale i sprawdź, czy problem został rozwiązany.

Rozwiązanie 2: Cofnięcie scalenia

Istnieje wiele przypadków, w których łączysz gałęzie i psujesz. Z powodu wszystkich konfliktów i zamieszania, projekt jest teraz bałaganem, a członkowie twojego zespołu obwiniają cię za to. W takim przypadku musisz cofnąć poprzednie zatwierdzenie (scalenie zatwierdzenia) . Spowoduje to całkowite cofnięcie scalenia i przywróci cały projekt do stanu, w którym nie wykonano żadnych scaleń. Może to być ratownik, jeśli popsułeś rzeczy nie do naprawienia.

Aby cofnąć scalanie, wpisz następujące polecenie:

 $ git reset –merge 

Powyższe polecenie zresetuje indeks i zaktualizuje pliki w drzewie roboczym, które różnią się między „zatwierdzeniem” a „nagłówkiem”. Zachowa jednak te pliki, które różnią się między indeksem a działającym drzewem.

Możesz także spróbować cofnąć HEAD, używając następującego polecenia:

 $ git przywróć HEAD 

Jeśli chcesz określić dokładne zatwierdzenie scalania, które chcesz przywrócić, możesz użyć tego samego polecenia revert, ale podać dodatkowe parametry. Zostanie użyty skrót SHA1 zatwierdzenia scalania. -M, po którym następuje 1, wskazuje, że chcemy zachować stronę nadrzędną scalania (gałąź, w którą się łączymy). Rezultatem tego cofnięcia jest to, że Git utworzy nowe zatwierdzenie, które przywróci zmiany po scaleniu.

 $ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4> 

Ciekawe Artykuły