Uwaga
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.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Zaletą korzystania z Team Foundation Version Control (TFVC) do zarządzania plikami jest to, że kilka osób może jednocześnie pracować nad plikiem. Jedną z wad jest to, że czasami należy rozwiązać konflikty, zanim będzie można uzyskać, zaewidencjonować, usunąć, scalić lub wycofać pliki.
Chociaż może to być frustrujące, aby napotkać konflikty, system udostępnia informacje i narzędzia ułatwiające zrozumienie i rozwiązywanie konfliktów.
Konflikty z wiersza polecenia można również rozwiązać przy użyciu polecenia Rozwiąż.
Napiwek
Jeśli twój zespół musi współpracować w celu rozwiązania dużej liczby konfliktów, na przykład po operacji scalania w dużej bazie kodu, publiczny obszar roboczy na udostępnionej maszynie deweloperów może pomóc. Aby uzyskać więcej informacji, zobacz Tworzenie i praca z obszarami roboczymi.
Rozwiązywanie konfliktów
Aby rozwiązać konflikty, możesz użyć okna Rozwiązywanie konfliktów programu Visual Studio, aby rozwiązać konflikty, które cię blokują. Aby otworzyć okno, wybierz pozycję Akcje>Rozwiąż konflikty na stronie Oczekujące zmiany w programie Team Explorer.
Domyślnie w oknie są wyświetlane tylko konflikty spowodowane przez ostatnią próbę operacji. Gdy okno jest w tym stanie, zostanie wyświetlony komunikat rozpoczynający się: Zastosowany filtr ścieżki. Aby wyświetlić wszystkie konflikty w obszarze roboczym, wybierz pozycję Pobierz wszystkie konflikty. Zostanie wyświetlony komunikat rozpoczynający się od: <N> Konflikty .
Jeśli wiele czasu minęło od czasu wprowadzenia zmian w plikach w obszarze roboczym, mogły wystąpić nowe konflikty. Aby odświeżyć okno Rozwiązywanie konfliktów , wybierz pozycję Odśwież.
Każdy konflikt zawiera informacje, a czasami linki, które mogą pomóc w jego rozwiązaniu. Aby uzyskać więcej informacji, możesz wybrać konflikt i wybrać jedną z następujących opcji:
Historia, aby wyświetlić historię pliku. Jeśli operacja, która spowodowała konflikt, to scalanie lub wycofywanie, możesz wybrać opcję menu po prawej stronie Historii, a następnie wybrać Historię źródła lub Historię docelową. Aby uzyskać więcej informacji, zobacz Pobieranie historii elementu.
Porównaj lub wybierz strzałkę listy rozwijanej przy ikonie, a następnie wybierz polecenie. Okno Diff zostanie otwarte.
Dodaj adnotacje, aby wyświetlić szczegóły dotyczące wszystkich zmian wprowadzonych w najnowszej wersji pliku, w tym osób, które dokonały każdej zmiany i kiedy je wprowadzili. Zobacz Wyświetlanie zmian plików przy użyciu adnotacji.
AutoOdwiązanie wszystkich konfliktów
Domyślnie system automatycznie podejmuje próbę autowywiązania wszystkich konfliktów, chyba że wyłączysz tę opcję. Aby wyłączyć automatyczne autoodłatywanie wszystkie, wybierz pozycję Narzędzia>Opcje. W oknie dialogowym Opcje, w sekcji Kontrola źródła>Visual Studio Team Foundation Server, usuń zaznaczenie opcji Próbuj automatycznie rozwiązywać konflikty, gdy są generowane.
Możesz również ręcznie wybrać pozycję Automatyczne rozwiązywanie wszystkich w oknie Rozwiązywania Konfliktów, a następnie wybrać jedną z następujących opcji:
Wszystkie typy konfliktów , jeśli chcesz, aby system próbował automatycznie rozwiązać konflikty przy użyciu wszystkich jego heurystyki.
Określone typy konfliktów , jeśli chcesz, aby system próbował rozwiązać konflikty, ale chcesz wykluczyć niektóre heurystyki.
Zostanie wyświetlone okno dialogowe Wybieranie konfliktów do rozwiązania . Sprawdź lub wyczyść opcje, które chcesz włączyć lub wyłączyć, a następnie wybierz pozycję AutoResolve.
System próbuje automatycznie rozwiązać konflikty wyświetlane w oknie Oczekujące zmiany . Wszelkie konflikty, których system nie może rozwiązać, pozostają w oknie. Należy ręcznie rozwiązać te konflikty.
Omówienie opcji automatycznych
Można ograniczyć typy konfliktów automatycznie rozwiązywane przez opcję AutoResolve All . Po wybraniu opcji AutoRozwiązywanie wszystkich i następnie wybraniu opcji Określone typy konfliktów, pojawi się okno dialogowe Wybieranie konfliktów do rozwiązania.
Przyczyna konfliktu
Przykład
Zaznaczenie pola wyboru
Niekonfliktowe zmiany zawartości zostały wprowadzone w każdej wersji pliku.
W wersji pliku po lewej stronie dodano zero na początku. Na końcu pliku po prawej stronie dodano trzy.
Konflikty z wszelkimi zmianami zawartości
Zmiany zawartości zostały wprowadzone podczas operacji pobierania lub sprawdzania, które są unikatowe dla obszaru roboczego, lub podczas operacji scalania lub wycofywania, które są unikatowe dla wersji docelowej.
Wpisy cztery i pięć zostały dodane do obszaru roboczego lub wersji docelowej:
Konflikty ze zmianami zawartości wprowadzanymi tylko w lokalnym obszarze roboczym lub gałęzi docelowej
Zmiany zawartości zostały wprowadzone podczas operacji pobierania lub sprawdzania, które są unikatowe dla serwera lub podczas operacji scalania lub wycofywania, które są unikatowe dla wersji źródłowej.
Wpisy cztery i pięć zostały dodane do serwera lub wersji źródłowej:
Konflikty ze zmianami zawartości wprowadzonych tylko w wersji serwera lub gałęzi źródłowej
Nazwa pliku została zmieniona na serwerze podczas operacji pobierania lub zapisywania albo w gałęzi źródłowej podczas operacji scalania lub wycofywania.
Wyewidencjonowałeś plik o nazwie launch.cs i pracowałeś nad nim. W tym czasie ktoś inny zaewidencjonował zestaw zmian, który miał wpływ na ten sam plik. Ten zestaw zmian nie zmodyfikował zawartości pliku, ale zmienił nazwę pliku na start.cs.
Konflikty spowodowane zmianą nazwy pliku w wersji serwera lub gałęzi źródłowej
Wprowadzono typowe zmiany zawartości, które spowodowały identyczną zawartość w każdej wersji. Lub, zmieniłeś plik, zaewidencjonowałeś go poprzez bramowaną kompilację i wybrałeś opcję Zachowaj oczekujące zmiany lokalnie.
Zmiany w każdej wersji spowodowały identyczną zawartość pliku. Zmiany mogą dotyczyć zawartości w plikach, jak pokazano w poniższym przykładzie:
Konflikty spowodowane identyczną zmianą serwera i obszaru roboczego
Ta opcja rozwiązuje również konflikty, które są spowodowane przez wszystkie inne operacje, na przykład zmianę nazwy, usuwanie, przywracanie i rozgałęzianie, wywołując tym samym identyczność plików.
Napiwek
Jeśli zaznaczysz to pole wyboru, po kontynuowaniu system rozwiąże te zmiany, pobierając wersję serwera do obszaru roboczego.
AutoMerge - wybrane konflikty
Aby spróbować rozwiązać wybrane konflikty przy użyciu wszystkich poprzednich opcji automerge, wybierz co najmniej jeden konflikt, a następnie wybierz pozycję Automerge.
Napiwek
Możesz nacisnąć i przytrzymać klawisz Ctrl lub klawisz Shift, aby zaznaczyć wiele konfliktów.
Ręczne rozwiązywanie wybranych konfliktów
Jeśli system nie może automatycznie rozwiązać konfliktu lub chcesz upewnić się, że rozumiesz, co się zmienia, musisz ręcznie rozwiązać konflikt. W każdym konflikcie system wyświetla akcje, które można wykonać, aby rozwiązać konflikt. Wyświetlane akcje zależą od typu konfliktu i operacji, która spowodowała konflikt.
Korzystanie z okna Scalanie
W przypadku konfliktu zmian zawartości możesz wybrać pozycję Scal zmiany w narzędziu scalania. Wyświetlone zostanie okno Scalanie.
W oknie Scalanie można wykonywać następujące czynności:
- Wybierz układ okna: Widok pionowy, Widok poziomy lub Widok mieszany.
- Nawiguj między różnicami i konfliktami.
- Wybierz elementy z lewej i prawej wersji pliku, aby uwzględnić je w wynikach.
- Wpisz więcej zawartości w pliku w okienku Wynik .
- Wyświetl historię pliku. Aby uzyskać więcej informacji, zobacz Pobieranie historii elementu.
- Porównaj wersje pliku.
- Dodaj adnotację do pliku, aby zobaczyć, kto zmienił co. Aby uzyskać więcej informacji, zobacz Wyświetlanie zmian plików przy użyciu adnotacji.
Kiedy jesteś zadowolony z zawartości okienka Wynik, wybierz Zatwierdź scalanie.
Wynik rozwiązania konfliktu pojawia się w okienku Wynik .