Próbowałem połączyć moją gałąź z inną gałęzią i wystąpił konflikt scalania. W Visual Studio Code (wersja 1.2.1) rozwiązałem wszystkie problemy, jednak kiedy próbuję zatwierdzić, wyświetla mi się następujący komunikat:
Przed zatwierdzeniem należy najpierw rozwiązać niescalone zmiany.
Próbowałem google, ale nie mogę się dowiedzieć, dlaczego nie pozwala mi to wprowadzić zmian, wszystkie konflikty zniknęły.
git
visual-studio
merge
visual-studio-code
annedroiid
źródło
źródło
Odpowiedzi:
Dzięki VSCode możesz łatwo znaleźć konflikty scalania za pomocą następującego interfejsu użytkownika.
(jeśli nie masz górnego paska, ustaw go
"editor.codeLens": true
w Preferencjach użytkownika)Wskazuje bieżącą zmianę, którą masz i zmianę przychodzącą z serwera. Ułatwia to rozwiązywanie konfliktów - wystarczy nacisnąć przyciski powyżej
<<<< HEAD
.Jeśli masz wiele zmian i chcesz zastosować je wszystkie naraz - otwórz paletę poleceń (Widok -> Paleta poleceń) i zacznij pisać scal - pojawi się wiele opcji, w tym
Merge Conflict: Accept Incoming
itp.źródło
Po próbach i błędach odkryłem, że musisz przygotować plik, w którym występuje konflikt scalania, a następnie możesz zatwierdzić scalanie.
źródło
git add .
nie przygotują wszystkich plików, sprawdź, czy jesteś w katalogu głównym projektu. Zajęło mi trochę czasu, zanim to rozgryzłem. Potemgit add .
git merge --continue
Dla tych, którzy mają trudności ze znalezieniem „przycisków scalania”.
Mała ikona światła z opcjami scalania pojawia się tylko wtedy, gdy klikniesz precyzyjnie na „znacznik konfliktu scalania”
Kroki (w VS Code 1.29.x):
źródło
źródło
Komunikat o błędzie, który otrzymujesz, jest wynikiem tego, że Git nadal myśli, że nie rozwiązałeś konfliktów scalania. W rzeczywistości już to zrobiłeś, ale musisz powiedzieć Gitowi, że zrobiłeś to, dodając rozwiązane pliki do indeksu.
Ma to taki efekt uboczny, że w rzeczywistości możesz po prostu dodać pliki bez rozwiązywania konfliktów, a Git nadal pomyśli, że tak. Dlatego należy pilnie upewnić się, że konflikty zostały naprawdę rozwiązane. Możesz nawet uruchomić kompilację i przetestować kod przed zatwierdzeniem.
źródło
Dla VS Code 1.38 lub jeśli nie możesz znaleźć żadnego przycisku "żarówka". Zwróć szczególną uwagę na wyszarzony tekst nad konfliktami; jest lista działań, które możesz podjąć.
źródło