Conflicten met Team Foundation-versiebeheer oplossen

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Een voordeel van het gebruik van Team Foundation Version Control (TFVC) om uw bestanden te beheren, is dat meerdere personen gelijktijdig aan een bestand kunnen werken. Een nadeel is dat u soms conflicten moet oplossen voordat u uw bestanden kunt ophalen, inchecken, opheffen, samenvoegen of terugdraaien.

Hoewel het frustrerend kan zijn om conflicten tegen te komen, biedt het systeem informatie en hulpprogramma's om u te helpen conflicten te begrijpen en op te lossen.

U kunt conflicten ook oplossen vanaf de opdrachtregel met behulp van de opdracht Oplossen.

Tip

Als uw team moet samenwerken om een groot aantal conflicten op te lossen, bijvoorbeeld na een samenvoegbewerking in een grote codebasis, kan een openbare werkruimte op een gedeelde ontwikkelcomputer u hierbij helpen. Zie Werkruimten maken en ermee werken voor meer informatie.

Conflicten oplossen

U kunt het venster Conflicten oplossen in Visual Studio gebruiken om conflicten op te lossen die u blokkeren. Als u het venster wilt openen, selecteert u Acties>oplossen van conflicten op de pagina Wijzigingen in behandeling van Team Explorer.

Schermopname van het venster Conflicten oplossen om conflicten op te lossen.

Standaard worden in het venster alleen de conflicten weergegeven die worden veroorzaakt door de meest recente bewerking die u hebt geprobeerd. Wanneer het venster deze status heeft, wordt er een bericht weergegeven dat begint: Padfilter toegepast. Als u alle conflicten in uw werkruimte wilt weergeven, kiest u Alle conflicten ophalen. Er wordt een bericht weergegeven met: <N> Conflict(en).

Als er veel tijd is verstreken sinds u wijzigingen hebt aangebracht in bestanden in uw werkruimte, zijn er mogelijk nieuwe conflicten opgetreden. Als u het venster Conflicten oplossen wilt vernieuwen, kiest u Vernieuwen.

Schermopname van het venster Conflicten oplossen.

Elk conflict bevat informatie en soms koppelingen die u kunnen helpen het probleem op te lossen. Voor meer informatie kunt u het conflict selecteren en een van de volgende opties kiezen:

  • Pictogram Geschiedenis.Geschiedenis om de geschiedenis van het bestand te bekijken. Als de bewerking die het conflict heeft veroorzaakt een samenvoeging of terugdraaibewerking is, kunt u het menu-besturingselement rechts van Geschiedenis kiezen en vervolgens Brongeschiedenis of Doelgeschiedenis selecteren. Zie De geschiedenis van een item ophalen voor meer informatie.

  • Pictogram Vergelijken.Vergelijk of selecteer de vervolgkeuzepijl naast het pictogram en kies vervolgens een opdracht. Het diff-venster wordt geopend.

  • Pictogram aantekeningen maken. Aantekeningen maken om details weer te geven over alle wijzigingen die zijn aangebracht in de meest recente versie van het bestand, inclusief wie elke wijziging heeft aangebracht en wanneer ze deze hebben aangebracht. Zie Bestandswijzigingen weergeven met aantekeningen.

Alle conflicten automatisch oplossen

Standaard probeert het systeem automatisch alle conflicten automatisch te herstellen, tenzij u deze optie uitschakelt. Als u automatisch Automatisch Opnieuwsolve Alles wilt uitschakelen, kiest u Extra>opties. Schakel in het dialoogvenster Opties onder Broncodebeheer>Visual Studio Team Foundation Server de selectie van poging om conflicten automatisch op te lossen wanneer deze worden gegenereerd.

U kunt ook handmatig AutoResolve All kiezen in het venster Conflicten oplossen en vervolgens een van de volgende opties selecteren:

  • Alle conflicttypen als u wilt dat het systeem probeert de conflicten automatisch op te lossen met behulp van alle heuristieken.

  • Specifieke conflicttypen als u wilt dat het systeem probeert de conflicten op te lossen, maar u wilt enkele heuristieken uitsluiten.

    Het dialoogvenster Conflicten kiezen om op te lossen wordt weergegeven. Schakel de opties in of uit die u wilt in- of uitschakelen en kies vervolgens AutoResolve.

    Het systeem probeert automatisch de conflicten op te lossen die worden weergegeven in het venster Wijzigingen in behandeling. Eventuele conflicten die het systeem niet kan oplossen, blijven in het venster. U moet deze conflicten handmatig oplossen .

Inzicht in de automatische opties

U kunt de typen conflicten beperken die automatisch worden opgelost met de optie AutoResolve All . Wanneer u AutoResolve All kiest en vervolgens Specifieke conflicttypen selecteert, wordt het dialoogvenster Conflicten kiezen om op te lossen weergegeven.

Schermopname van het dialoogvenster Conflicten kiezen om op te lossen.

Oorzaak van conflict

Voorbeeld

Selectievakje selecteren


Er zijn niet-conflicterende inhoudswijzigingen aangebracht in elke versie van een bestand.

In de bestandsversie aan de linkerkant is aan het begin een nul toegevoegd. In het bestand aan de rechterkant is er aan het einde een drie toegevoegd:

Schermopname van niet-conflicterende inhoudswijzigingen.

Conflicten met eventuele wijzigingen in inhoud

Er zijn inhoudswijzigingen aangebracht tijdens een get-of checkin-bewerking die uniek zijn voor de werkruimte, of tijdens een samenvoeg- of terugdraaibewerking die uniek zijn voor de doelversie.

De vermeldingen vier en vijf zijn toegevoegd aan de werkruimte of doelversie:

Schermopname van inhoudswijzigingen die uniek zijn voor de werkruimte of het doel.

Conflicten met inhoudswijzigingen die alleen zijn aangebracht in de lokale werkruimte of doelvertakking

Er zijn inhoudswijzigingen aangebracht tijdens het ophalen of controleren van bewerkingen die uniek zijn voor de server, of tijdens een samenvoeg- of terugdraaibewerking die uniek zijn voor de bronversie.

De vermeldingen vier en vijf zijn toegevoegd aan de server- of bronversie:

Schermopname van inhoudswijzigingen die uniek zijn voor de server of bron.

Conflicten met inhoudswijzigingen die alleen zijn aangebracht in de serverversie of bronvertakking

De naam van een bestand is gewijzigd op de server tijdens een get- of checkin-bewerking of in de bronbranch tijdens een samenvoeg- of terugdraaibewerking.

U hebt een bestand met de naam launch.cs uitgecheckt en eraan gewerkt. Gedurende die tijd heeft iemand anders een wijzigingenset ingecheckt die hetzelfde bestand heeft beïnvloed. Deze wijzigingenset heeft de inhoud van het bestand niet gewijzigd, maar de naam van het bestand is gewijzigd in start.cs.

Conflicten veroorzaakt door het wijzigen van de naam van het bestand in de serverversie of bronvertakking

Er zijn algemene inhoudswijzigingen aangebracht die resulteren in identieke inhoud in elke versie. Of u hebt een bestand gewijzigd, ingecheckt via een gated check-in build en de optie Mijn in behandeling zijnde wijzigingen lokaal behouden geselecteerd.

Wijzigingen in elke versie hebben geresulteerd in identieke bestandsinhoud. De wijzigingen kunnen de inhoud in de bestanden zijn, zoals wordt weergegeven in het volgende voorbeeld:

Schermopname van identieke inhoudswijzigingen in beide versies.

Conflicten veroorzaakt door identieke wijzigingen in de server en werkruimte

Met deze optie worden ook conflicten opgelost die worden veroorzaakt door alle andere bewerkingen, bijvoorbeeld de naam wijzigen, verwijderen, ongedaan maken en vertakkingen, waardoor identieke bestanden ontstaan.

Tip

Als u dit selectievakje inschakelt wanneer u doorgaat, worden deze wijzigingen opgelost door de serverversie naar uw werkruimte te downloaden.

Geselecteerde conflicten automatisch samenvoegen

Als u geselecteerde conflicten wilt oplossen met behulp van alle voorgaande opties voor automatisch samenvoegen, selecteert u een of meer conflicten en kiest u Vervolgens AutoMerge.

Tip

U kunt ctrl of Shift ingedrukt houden om meerdere conflicten te selecteren.

Notitie

Als AutoMerge is uitgeschakeld, moet u de conflicten handmatig oplossen .

Geselecteerde conflicten handmatig oplossen

Als het systeem een conflict niet automatisch kan oplossen of als u zeker wilt weten wat er verandert, moet u het conflict handmatig oplossen. Binnen elk conflict geeft het systeem de acties weer die u kunt ondernemen om het conflict op te lossen. De weergegeven acties zijn afhankelijk van het conflicttype en de bewerking die het conflict heeft veroorzaakt.

Het venster Samenvoegen gebruiken

Wanneer conflicterende inhoudswijzigingen een conflict veroorzaken, kunt u Samenvoegwijzigingen kiezen in het samenvoegprogramma. Het venster Samenvoegen wordt weergegeven.

Schermopname van samenvoegingswijzigingen in het samenvoegprogramma.

In het venster Samenvoegen kunt u het volgende doen:

  • Selecteer de indeling van het venster: Verticale weergave, Horizontale weergave of Gemengde weergave.
  • Navigeer tussen de verschillen en de conflicten.
  • Selecteer items in de linker- en rechterversie van het bestand om ze op te nemen in de resultaten.
  • Typ meer inhoud in het bestand in het deelvenster Resultaat .
  • Bekijk de geschiedenis van het bestand. Zie De geschiedenis van een item ophalen voor meer informatie.
  • Vergelijk de versies van het bestand.
  • Aantekeningen toevoegen aan het bestand om te zien wie wat heeft gewijzigd. Zie Bestandswijzigingen weergeven met aantekeningen voor meer informatie.

Wanneer u tevreden bent met de inhoud van het deelvenster Resultaat , kiest u Samenvoegen accepteren.

Het resultaat van het oplossen van het conflict wordt weergegeven in het deelvenster Resultaat .