Rozwiązywanie konfliktów

Konflikt występuje, gdy zmiany są wprowadzane do tego samego elementu zarówno w obszarze roboczym, jak i w zdalnym repozytorium git. Gdy wystąpi konflikt, stan usługi Git to Konflikt, a zarówno zatwierdzenie, jak i aktualizacja zostaną wyłączone do momentu rozwiązania konfliktu.

Screenshot of a report with a git status that says conflict.

Ważne

Usługa Microsoft Fabric jest dostępna w wersji zapoznawczej.

Istnieją dwa sposoby rozwiązywania konfliktu:

  • Przywróć obszar roboczy lub repozytorium git do poprzedniego stanu synchronizacji.
  • Rozwiąż konflikt w usłudze git.

Przywróć poprzedni stan

Możesz przywrócić obszar roboczy lub gałąź git do stanu ostatniej synchronizacji. Jeśli przywrócisz gałąź git do poprzedniego zatwierdzenia, nadal możesz zobaczyć zmiany wprowadzone w niezsynchronowanej gałęzi. Jeśli przywrócisz obszar roboczy, zmiany zostaną całkowicie utracone.

Aby przywrócić poprzedni stan synchronizacji, wykonaj jedną z następujących czynności:

  • Użyj polecenia Cofnij, aby zwrócić wszystkie elementy w obszarze roboczym do stanu ostatniej synchronizacji.
  • Przywróć ostatni stan synchronizacji w narzędziu git revert git przy użyciu polecenia w usłudze Azure DevOps.

Możesz również rozwiązać konflikty, rozłączając i ponownie łącząc obszar roboczy. Po ponownym połączeniu wybierz kierunek synchronizacji. Należy jednak pamiętać, że spowoduje to zastąpienie wszystkich elementów w obszarze roboczym lub gałęzi, a nie tylko konfliktowych elementów. Nie zwraca obszaru roboczego ani gałęzi do ostatniego stanu synchronizacji. Zamiast tego zastępuje całą zawartość w jednej lokalizacji zawartością drugiej.

Rozwiązywanie konfliktów w usłudze Git

Jeśli wprowadzono wiele zmian i nie chcesz przywracać poprzedniego stanu, możesz spróbować rozwiązać konflikt w repozytorium git, tworząc nową gałąź i synchronizując ją z bieżącym. Tylko administrator obszaru roboczego może utworzyć nową gałąź:

  1. W okienku Kontrola źródła wyewidencjonuj nową gałąź przy użyciu ostatniego zsynchronizowanego identyfikatora gałęzi widocznego na dole ekranu

    Screenshot showing how to check out a new branch from the source control pane by selecting the down arrow.

    Screenshot of branch ID information shown on bottom of the screen.

    Ten krok tworzy nową gałąź z gałęzi powodującej konflikt przy użyciu ostatniego zsynchronizowanego stanu git, zanim zmiany zostaną wprowadzone, które powodują konflikt ze zmianami. Zmiany można zobaczyć w okienku Kontroli źródła, ale nie ma nic do zaktualizowania z gałęzi git.

  2. Zatwierdź zmiany w nowej gałęzi. Ta nowa gałąź zawiera teraz zmiany wprowadzone w elementach połączonych z starszą wersją gałęzi git, która nie powoduje konfliktu ze zmianami.

  3. W usłudze git rozwiąż konflikty między gałęzią oryginalną a nową gałęzią.

  4. W usłudze git scal nową gałąź z oryginalną gałęzią

  5. W obszarze Sieć szkieletowa odłącz i ponownie połącz obszar roboczy z oryginalną gałęzią.

Następne kroki