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.
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.
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.
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.
Begin in de Samenvoegeditor met het oplossen van uw conflict met behulp van een van de volgende methoden (zoals weergegeven in de genummerde schermafbeelding):
Ga uw conflicten regel voor regel na en kies tussen de rechter- of linkerkant te behouden door de selectievakjes aan te vinken.
- or -
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 -
Bewerk de code handmatig in het venster Resultaat.
Wanneer u klaar bent met het oplossen van de samenvoegingsconflicten, selecteert u Samenvoeging accepteren. Herhaal dit proces voor alle conflicterende bestanden.
Gebruik het venster Git Changes om een merge-commit te maken en het conflict op te lossen.
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.
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.