Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Konflikt występuje, gdy zmiany są wprowadzane do tego samego elementu zarówno w obszarze roboczym, jak i w zdalnym repozytorium Git. W przypadku wystąpienia konfliktu, stan Git pokazuje Konflikt, a zatwierdzanie jest wyłączone.
Gdy wybierzesz Aktualizuj, gdy pojawią się konflikty, widzisz przycisk Rozwiąż konflikty .
Istnieją trzy sposoby rozwiązywania konfliktu:
- Wybierz wersję, która ma być przechowywana w interfejsie użytkownika.
- Przywróć obszar roboczy lub repozytorium Git do poprzedniego stanu synchronizacji.
- Rozwiąż konflikt w Git.
- Ręcznie zaktualizuj obszar roboczy, jeśli jeden lub więcej elementów nie zostanie zaktualizowanych.
Rozwiązywanie konfliktów w interfejsie użytkownika
Wybierz Rozwiąż konflikty , aby zobaczyć listę wszystkich elementów zawierających konflikty. Następnie możesz wybrać wersję, która ma być zachowana dla każdego elementu. Dla każdego elementu powodującego konflikt można zaakceptować zmiany przychodzące z repozytorium Git lub zachować bieżącą wersję w obszarze roboczym.
- Wybierz pozycję Zaakceptuj zmiany przychodzące , aby zastąpić zmiany w obszarze roboczym. Zmiany obszaru roboczego zostaną utracone, a stan usługi Git zmieni się na zsynchronizowany , jeśli importowanie zakończy się pomyślnie.
Notatka
Akceptowanie zmian przychodzących spowoduje zastąpienie bieżącego elementu w obszarze roboczym.
Wybierz Zachowaj bieżącą zawartość, aby zachować wersję aktualnie w obszarze roboczym. Po zakończeniu aktualizacji stan usługi Git pokazuje niezatwierdzone zmiany, ponieważ zmiany w obszarze roboczym nie zostały jeszcze zatwierdzone w gałęzi.
Możesz też otworzyć okno porównania i zatwierdzania zmian, aby porównać różne wersje konfliktowego przedmiotu obok siebie. Przeglądanie zmian w ten sposób pomaga zdecydować, którą wersję zachować, zanim rozwiążesz konflikt.
Przywróć poprzedni stan
Możesz przywrócić cały obszar roboczy lub gałąź Git do stanu ostatniej synchronizacji. Jeśli przywrócisz gałąź Git do poprzedniego commitu, nadal możesz zobaczyć zmiany wprowadzone w niesynchronizowanej wersji. Jeśli przywrócisz obszar roboczy, utracisz wszystkie zmiany wprowadzone w obszarze roboczym od momentu ostatniego zatwierdzenia.
Aby przywrócić poprzedni stan synchronizacji, wykonaj jedną z następujących akcji:
- Użyj polecenia Cofnij, aby zwrócić elementy będące w konflikcie w obszarze roboczym do ich ostatniego zsynchronizowanego stanu.
- Przywróć ostatni stan synchronizacji w usłudze Git przy użyciu
git revertpolecenia w usłudze Azure DevOps.
Możesz również rozwiązać konflikty, rozłączając i ponownie łącząc obszar roboczy. Po ponownym połączeniu wybierz kierunek synchronizacji. Należy jednak pamiętać, że ponowne nawiązanie połączenia spowoduje nadpisanie wszystkich elementów w obszarze roboczym lub gałęzi, a nie tylko tych, które mają konflikty. Nie zwraca obszaru roboczego ani gałęzi do ostatniego stanu synchronizacji. Zamiast tego zastępuje całą zawartość w jednej lokalizacji zawartością drugiej.
Rozwiązywanie konfliktów w usłudze Git
Jeśli nie masz pewności, jakie zmiany zostały wprowadzone i która wersja ma zostać wybrana i nie chcesz przywracać poprzedniego stanu, możesz spróbować rozwiązać konflikt w repozytorium Git, tworząc nową gałąź, rozwiązując konflikt w tej gałęzi i synchronizując go z bieżącym.
Notatka
Domyślnie przełączanie gałęzi Git połączonego obszaru roboczego (lub wyewidencjonowanie nowej gałęzi) jest ograniczone do administratorów obszaru roboczego. Jednak administrator obszaru roboczego może włączyć ustawienie dla danego obszaru roboczego Zezwalaj użytkownikom z co najmniej rolą Współautora na zmianę gałęzi Git, aby przekazać uprawnienie do przełączania gałęzi współautorom lub członkom. Aby uzyskać więcej informacji, zobacz Łączenie obszaru roboczego z repozytorium Git.
W panelu sterowania Źródło wyewidencjonuj nową gałąź przy użyciu ostatniego zsynchronizowanego identyfikatora gałęzi widocznego u dołu ekranu
Ten krok tworzy nową gałąź z gałęzi powodującej konflikt przy użyciu ostatniego zsynchronizowanego stanu usługi Git, zanim zmiany zostaną wprowadzone, które powodują konflikt ze zmianami. Zmiany można zobaczyć w panelu kontroli wersji, ale nie ma nic do zaktualizowania w gałęzi Git. Gałąź wyewidencjonowania zachowuje bieżący stan obszaru roboczego, więc niezatwierdzone zmiany są zachowywane podczas zmieniania gałęzi.
Zatwierdź zmiany w nowej gałęzi. Ta nowa gałąź zawiera teraz zmiany, które wprowadziłeś w elementach połączonych z wcześniejszą wersją gałęzi Git, niepowodujące konfliktów z twoimi zmianami.
W Git rozwiąż konflikty między gałęzią oryginalną a nową gałęzią.
W systemie git scalaj nową gałąź z oryginalną gałęzią
W Fabric, przełącz obszar roboczy z powrotem do oryginalnej gałęzi.