Delen via


Samenvoegingsconflicten oplossen in Visual Studio

Wanneer u de ene vertakking in een andere vertakking samenvoegt, kunnen bestandswijzigingen van doorvoeringen in de ene vertakking conflicteren met de wijzigingen in de andere. Git probeert deze wijzigingen op te lossen met behulp van de geschiedenis in uw opslagplaats om te bepalen hoe de samengevoegde bestanden eruit moeten zien. Wanneer het niet duidelijk is hoe u wijzigingen kunt samenvoegen, stopt Git de samenvoeging en vertelt u welke bestanden conflicteren.

Samenvoegingsconflicten voorkomen

Git is in de meeste gevallen goed bij het automatisch samenvoegen van bestandswijzigingen, zolang de bestandsinhoud niet aanzienlijk verandert tussen doorvoeringen. Als uw branch zich ver achter de hoofdbranch bevindt, kunt u overwegen uw branches te rebasen voordat u een pull request indient. Hergebaseerde takken worden zonder conflicten samengevoegd op uw hoofdtak.

Samenvoegingsconflicten oplossen

  • Als u met anderen in dezelfde tak samenwerkt, ziet u mogelijk samenvoegingsconflicten wanneer u uw wijzigingen doorvoert.

    schermopname van samenvoegingsconflict na een push.

  • Visual Studio detecteert of de lokale tak waaraan u werkt achterloopt op de remote-tracking tak en geeft u vervolgens opties om uit te kiezen.

    Schermopname van de beschikbare opties wanneer de lokale vertakking zich achter de externe vertakking bevindt.

    Notitie

    Als uw externe opslagplaats ondersteuning biedt voor Force Push-, kunt u deze inschakelen met behulp van Git>-instellingen.

    Selecteer in dit voorbeeld Pull en push vervolgens om wijzigingen op te nemen die zijn geïntroduceerd in de externe opslagplaats. Als er samenvoegingsconflicten zijn wanneer u wijzigingen ophaalt of probeert twee vertakkingen samen te voegen, laat Visual Studio u weten in het venster Git Changes, in het Git-opslagplaats venster en op bestanden met conflicten.

    Schermopname van een melding over een samenvoegingsconflict.

  • In het venster Git Changes ziet u een lijst met bestanden met conflicten onder Niet-samengevoegde wijzigingen. Dubbelklik op een bestand om conflicten op te lossen. Of als u een bestand met conflicten hebt geopend in de editor, kunt u Samenvoegeditor openenselecteren.

    Schermopname van de status van samenvoegingsconflicten in het venster Git-wijzigingen.

  • Begin in de Samenvoegeditor met het oplossen van uw conflict met behulp van een van de volgende methoden (zoals weergegeven in de genummerde schermafbeelding):

    1. Ga uw conflicten regel voor regel na en kies tussen de rechter- of linkerkant te behouden door de selectievakjes aan te vinken.

      - or -

    2. Selecteer de knop Binnenkomende overnemen (of druk op F10) om alle binnenkomende wijzigingen te accepteren of knop Huidige overnemen (of druk op F11) om uw huidige versie van alle conflicterende wijzigingen te behouden. U kunt hetzelfde doen door een van de selectievakjes bovenaan in een van beide naast elkaar geplaatste vensters te selecteren.

      - or -

    3. Bewerk de code handmatig in het venster Resultaat.

    schermopname die laat zien hoe u een samenvoegingsconflict kunt oplossen in Visual Studio 2022.

    Tip

    Als u niet tevreden bent over de standaardindeling in de samenvoegeditor, kunt u deze wijzigen via het tandwielmenu.

    Schermopname van de indelingsopties voor De samenvoegeditor.

    In de volgende schermopname ziet u bijvoorbeeld hoe de verticale weergave eruitziet:

    schermopname van de verticale weergave in de gebruikersinterface van de Samenvoegeditor.

  • Wanneer u klaar bent met het oplossen van de samenvoegingsconflicten, selecteert u Samenvoeging accepteren. Herhaal dit proces voor alle conflicterende bestanden.

    schermopname van de actie Samenvoegen accepteren in Visual Studio 2022.

  • Gebruik het venster Git Changes om een merge-commit te maken en het conflict op te lossen.

    Schermopname van het maken van een samenvoeging met behulp van de Git Changes-venster.

    Notitie

    Als u al uw wijzigingen in een bestand wilt behouden, klikt u er met de rechtermuisknop op in de sectie Niet-samengevoegde wijzigingen en selecteert u Huidige (lokaal) behouden zonder De samenvoegeditor te hoeven openen.

    schermopname van de menuoptie Huidige behouden.

Tip

Zie de sectie Git-sneltoetsen sectie van de Toegankelijkheidstips en -trucs voor Visual Studio voor meer informatie over de beschikbare toegankelijkheidsopties.

Uw diff-hulpprogramma configureren

Als u uw .gitconfig-bestand instelt om een diff-hulpprogramma van derden zoals BeyondCompare of KDiff3 te gebruiken, respecteert Visual Studio dit. Wanneer Visual Studio normaal gesproken een diff zou weergeven, wordt er een afzonderlijk venster geopend in het hulpprogramma van uw keuze. Zie voor een voorbeeld deze vraag Stack Overflow.