Błąd „ Musisz najpierw rozwiązać aktualny indeks ” pojawia się w Git i oznacza, że istnieje konflikt scalania i jeśli nie rozwiążesz konfliktu, nie będziesz mógł wyewidencjonować do innej gałęzi. Ten komunikat o błędzie oznacza również, że scalanie nie powiodło się lub występują konflikty z plikami.

Czym są te wszystkie pliki, połączenia i konflikty? Te terminy będą nieznane, jeśli jesteś początkującym użytkownikiem Git. Git to platforma kontroli wersji, która umożliwia kilku osobom jednoczesną pracę na plikach i przekazywanie ich lokalnej kopii kodu do tej przechowywanej w chmurze. W ten sposób, jeśli zmienisz jakiś pobrany (lub już wypchnięty) kod i wypchniesz go ponownie do chmury, zmiany zostaną nadpisane w chmurze przez twoją lokalną kopię.
Git ma koncepcję gałęzi. Istnieje gałąź główna i kilka innych gałęzi z niej. Ten błąd występuje szczególnie wtedy, gdy przełączasz się z jednej gałęzi do drugiej (przy użyciu wypisania) i występują konflikty w plikach bieżącej gałęzi. Jeśli nie zostaną rozwiązane, nie będziesz mógł zmieniać gałęzi.
Co powoduje błąd Git: najpierw musisz rozwiązać problem z bieżącym indeksem?
Jak wspomniano wcześniej, przyczyny tego błędu są dość ograniczone. Wystąpi ten błąd, ponieważ:
- Seryjnej powiodło i trzeba rozwiązać konflikt scalania przed przejściem do innych zadań.
- Są konflikty w plikach w bieżącej (lub ukierunkowanej oddział) oraz z powodu tych konfliktów, nie będzie w stanie sprawdzić z gałęzi lub pchania kodu.
Przed przystąpieniem do rozwiązania upewnij się, że masz odpowiednią kontrolę wersji i rozsądnie jest powstrzymać innych członków zespołu przed zmianą kodu przed rozwiązaniem konfliktu.
Rozwiązanie 1: Rozwiązywanie konfliktu scalania
Jeśli Twoje scalanie nie zostanie automatycznie rozwiązane przez Git, pozostawi indeks i drzewo robocze w specjalnym stanie, który pomoże Ci dostarczyć wszystkie informacje potrzebne do rozwiązania scalenia. Pliki, w których występują 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.
- Rozwiąż wszystkie konflikty . Sprawdź pliki, w których występują konflikty, ponieważ zostaną one oznaczone przez indeks i odpowiednio wprowadź w nich zmiany.
- Po rozwiązaniu wszystkich istniejących konfliktów dodaj plik, a następnie zatwierdź .
Przykładem jest:
$ git add file.txt $ git commit
Podczas zatwierdzania możesz dodać swój osobisty komentarz. Oto przykład:
$ git commit –m „To jest repozytorium Appuals Git”
- Po rozwiązaniu konfliktu spróbuj wyewidencjonować istniejącą gałąź i sprawdź, czy problem został rozwiązany.
Rozwiązanie 2: Cofnij scalenie
Istnieje wiele przypadków, w których można scalić gałęzie i popsuć. 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 (zatwierdzenie scalające) . Spowoduje to całkowite cofnięcie scalenia i przywrócenie całego projektu do stanu, w którym nie wykonałeś żadnych scaleń. Może to uratować życie, jeśli zepsułeś rzeczy nie do naprawienia.
Aby cofnąć scalenie , wpisz:
$ git reset -–merge
Powyższe polecenie zresetuje indeks i zaktualizuje pliki w drzewie roboczym, które różnią się między „zatwierdzeniem” i „nagłówkiem”. Jednak zachowa te pliki, które są różne w indeksie i drzewie roboczym.
Możesz także spróbować odwrócić HEAD za pomocą następującego polecenia:
$ git przywróć HEAD
Jeśli chcesz dokładnie określić zatwierdzenie scalania, które chcesz cofnąć, możesz użyć tego samego polecenia przywracania, ale określić dodatkowe parametry. Zostanie użyty skrót SHA1 zatwierdzenia scalania. -M, po którym następuje 1, wskazuje, że chcemy zachować macierzystą stronę scalania (gałąź, do której się scalamy). Rezultatem tego przywrócenia jest to, że Git utworzy nowe zatwierdzenie, które cofnie zmiany z scalenia.
$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>