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.
Unikaj konfliktów 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, wtedy możesz napotkać konflikty scalania podczas wypychania zmian.
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.
Notatka
Jeśli Twoje zdalne repozytorium obsługuje
Force Push , możesz je włączyć, używającustawień 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 pobierania zmian lub próby scalenia dwóch gałęzi, program Visual Studio powiadamia o tym w oknie Git Changes, w oknie Git Repository oraz na wszelkich plikach zawierających konflikty.
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.
W edytorze scalania rozpocznij rozwiązywanie konfliktu przy użyciu dowolnej z następujących metod (jak pokazano na numerowanych zrzutach ekranu):
Przejdź przez konflikty wiersz po wierszu i wybierz między zachowaniem prawej lub lewej strony, zaznaczając odpowiednie pola wyboru.
- lub -
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 -
Ręcznie edytuj kod w oknie Rezultat.
Po zakończeniu rozwiązywania konfliktów scalania wybierz Zaakceptuj scalanie. Powtórz ten proces dla wszystkich plików powodujących konflikt.
Użyj okna Git Changes, aby utworzyć zatwierdzenie scalania i rozwiązać konflikt.
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.
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 skonfigurujesz plik .gitconfig
do korzystania z narzędzia różnic innej firmy, takiego jak BeyondCompare lub KDiff3, program Visual Studio to respektuje. 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.