Rozwiązywanie konfliktów scalania w programie Visual Studio

Po scaleniu jednej gałęzi z inną zmiany pliku z zatwierdzeń w jednej gałęzi mogą powodować konflikt ze zmianami w drugiej. Usługa Git próbuje rozwiązać te zmiany przy użyciu historii w repozytorium, aby określić, jak powinny wyglądać scalone pliki. Gdy nie jest jasne, jak scalić zmiany, usługa Git zatrzymuje scalanie i informuje, które pliki powodują konflikt.

Zapobieganie konfliktom scalania

Usługa Git jest dobra do automatycznego scalania zmian plików w większości sytuacji, o ile zawartość pliku nie zmienia się znacząco między zatwierdzeniami. Jeśli gałąź znajduje się daleko za gałęzią główną, rozważ ponowne łączenie gałęzi przed otwarciem żądania ściągnięcia. Ponownie oparte gałęzie zostaną scalone z gałęzią główną bez konfliktów.

Rozwiązywanie konfliktów scalania

  • Jeśli współpracujesz z innymi osobami w tej samej gałęzi, podczas wypychania zmian mogą wystąpić konflikty scalania.

    Zrzut ekranu przedstawiający konflikt scalania po wypchnięciu.

  • Program Visual Studio wykrywa, czy gałąź lokalna, nad którą pracujesz, znajduje się za gałęzią zdalnego śledzenia, a następnie udostępnia opcje wyboru.

    Zrzut ekranu przedstawiający opcje dostępne, gdy gałąź lokalna znajduje się za gałęzią zdalną.

    Uwaga

    Jeśli repozytorium zdalne obsługuje wymuszanie wypychania, możesz je włączyć przy użyciu narzędzia Git> Ustawienia.

    W tym przykładzie wybierz pozycję Pull (Ściąganie), a następnie push (Wypchnij ), aby uwzględnić zmiany wprowadzone w repozytorium zdalnym. Jeśli występują konflikty scalania podczas ściągania zmian lub próby scalenia dwóch gałęzi, program Visual Studio informuje Cię o tym w oknie Zmiany usługi Git, w oknie Repozytorium Git i na wszystkich plikach, które mają konflikty.

    Zrzut ekranu przedstawiający powiadomienie o konflikcie scalania.

  • W oknie Zmiany usługi Git jest wyświetlana lista plików z konfliktami w obszarze Niezagnieżdżone zmiany. Aby rozpocząć rozwiązywanie konfliktów, kliknij dwukrotnie plik. Jeśli w edytorze jest otwarty plik z konfliktami, możesz wybrać pozycję Otwórz edytor scalania.

    Zrzut ekranu przedstawiający stan konfliktu scalania w oknie Zmiany usługi Git.

  • W edytorze scalania rozpocznij rozwiązywanie konfliktu przy użyciu dowolnej z następujących metod (jak pokazano na numerowanych zrzutach ekranu):

    1. Przejdź przez wiersz po wierszu konfliktów i wybierz między zachowaniem prawej lub lewej strony, zaznaczając pola wyboru.

      - lub -

    2. Wybierz przycisk Pobierz przychodzące (lub naciśnij klawisz F10), aby zaakceptować wszystkie zmiany przychodzące, lub przycisk Take Current (lub naciśnij klawisz F11), aby zachować bieżącą wersję wszystkich zmian powodujących konflikt. Możesz to zrobić, zaznaczając jedno z pól wyboru w górnej części obu ramek obok siebie.

      - lub -

    3. Ręcznie edytuj kod w oknie Wynik .

    Zrzut ekranu przedstawiający sposób rozwiązywania konfliktu scalania w programie Visual Studio 2022.

    Napiwek

    Jeśli nie podoba Ci się domyślny układ w Edytorze scalania, możesz go zmienić przy użyciu menu rozwijanego koła zębatego.

    Zrzut ekranu przedstawiający opcje układu edytora scalania.

    Na przykład poniższy zrzut ekranu przedstawia wygląd widoku pionowego:

    Zrzut ekranu przedstawiający widok pionowy w interfejsie użytkownika edytora scalania.

  • Po zakończeniu rozwiązywania konfliktów scalania wybierz pozycję Akceptuj scalanie. Powtórz ten proces dla wszystkich plików powodujących konflikt.

    Zrzut ekranu przedstawiający akcję Akceptuj scalanie w programie Visual Studio 2022.

  • Użyj okna Zmiany usługi Git, aby utworzyć zatwierdzenie scalania i rozwiązać konflikt.

    Zrzut ekranu przedstawiający sposób tworzenia zatwierdzenia scalania przy użyciu okna Zmiany usługi Git.

    Uwaga

    Jeśli chcesz zachować wszystkie zmiany w pliku, możesz kliknąć go prawym przyciskiem myszy w sekcji Niezagnieżdżone zmiany i wybrać pozycję Zachowaj bieżący (lokalny) bez konieczności otwierania Edytora scalania.

    Zrzut ekranu przedstawiający opcję Zachowaj bieżący menu.

Napiwek

Aby dowiedzieć się więcej o dostępnych opcjach ułatwień dostępu, zobacz sekcję Skróty klawiaturowe Git na stronie Wskazówki i wskazówki dotyczące ułatwień dostępu dla programu Visual Studio.

Konfigurowanie narzędzia różnic

Jeśli ustawisz .gitconfig plik tak, aby używał narzędzia różnic innej firmy, takiego jak BeyondCompare lub KDiff3, program Visual Studio go szanuje. Za każdym razem, gdy program Visual Studio zwykle wyświetla różnice, w wybranym narzędziu zostanie otwarte oddzielne okno. Aby zapoznać się z przykładem, zobacz to pytanie StackOverflow .