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.
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 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.
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 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.