Udostępnij za pośrednictwem


Rozwiązywanie konfliktów scalania w programie Visual Studio

Gdy scalasz jedną gałąź z inną, zmiany plików z commitów w jednej gałęzi mogą powodować konflikty 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. Gałęzie po przekształceniach bazowych zostaną scalone z Twoją główną gałęzią 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ą.

    Notatka

    Jeśli repozytorium zdalne obsługuje Wymuszaniewypychania, możesz je włączyć przy użyciu ustawień usługi Git>.

    W tym przykładzie wybierz pozycję Pull ,a następnie 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 o tym w oknie Git Changes, w oknie Git Repository i na wszystkich plikach, które mają konflikty.

    Zrzut ekranu przedstawiający powiadomienie o konflikcie scalania.

  • W oknie Git Changes jest wyświetlana lista plików z konfliktami pod Niepołączone zmiany. Aby rozpocząć rozwiązywanie konfliktów, kliknij dwukrotnie plik. Lub jeśli plik z konfliktami został otwarty w edytorze, możesz wybrać Open Merge Editor.

    Zrzut ekranu przedstawiający stan konfliktu scalania w oknie Zmian w 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 konflikty wiersz po wierszu i wybierz między zachowaniem prawej lub lewej strony, zaznaczając odpowiednie pola wyboru.

      - lub -

    2. Wybierz przycisk Take Incoming (lub naciśnij F10), aby zaakceptować wszystkie zmiany przychodzące, lub przycisk Take Current (lub naciśnij F11), aby zachować bieżącą wersję wszystkich zmian powodujących konflikt. Możesz to zrobić, zaznaczając jedno z pól wyboru u góry ramki widoku po obu stronach.

      - lub -

    3. Ręcznie edytuj kod w oknie Rezultat.

    Zrzut ekranu przedstawiający, jak rozwiązywać konflikt 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 Zaakceptuj 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 Git Changes, aby utworzyć zatwierdzenie scalania i rozwiązać konflikt.

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

    Notatka

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

    Zrzut ekranu przedstawiający opcję zachowaj bieżące menu.

Napiwek

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

Konfiguruj narzędzie do porównywania

Jeśli ustawisz plik .gitconfig na użycie 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 Stack Overflow.