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.
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.
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.
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.
W edytorze scalania rozpocznij rozwiązywanie konfliktu przy użyciu dowolnej z następujących metod (jak pokazano na numerowanych zrzutach ekranu):
Przejdź przez wiersz po wierszu konfliktów i wybierz między zachowaniem prawej lub lewej strony, zaznaczając pola wyboru.
- lub -
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 -
Ręcznie edytuj kod w oknie Wynik .
Po zakończeniu rozwiązywania konfliktów scalania wybierz pozycję Akceptuj scalanie. Powtórz ten proces dla wszystkich plików powodujących konflikt.
Użyj okna Zmiany usługi Git, aby utworzyć zatwierdzenie scalania i rozwiązać konflikt.
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.
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 .