Konfliktløsning
Der opstår en konflikt, når der foretages ændringer af det samme element i både arbejdsområdet og det eksterne Git-lager. Når der opstår en konflikt, står der i Git-statussen Konflikt , og Bekræftelse er deaktiveret.
Når du vælger Opdater , når der er konflikter, får du en meddelelse om, at du skal løse konflikterne, før du kan opdatere.
Der er tre måder at løse en konflikt på:
- Vælg, hvilken version der skal bevares via brugergrænsefladen.
- Gendan enten arbejdsområdet eller Git-lageret til en tidligere synkroniseret tilstand.
- Løs konflikten i Git.
- Opdater arbejdsområdet manuelt, hvis et eller flere elementer ikke opdateres.
Løs konflikt i brugergrænsefladen
Vælg Opdater alle for at få vist en liste over alle de elementer, der har konflikter. Du kan derefter vælge, hvilken version der skal bevares for hvert element. For hvert konfliktelement kan du vælge at acceptere de indgående ændringer fra Git-lageret eller beholde den aktuelle version, der findes i arbejdsområdet.
Vælg Acceptér indgående ændringer for at tilsidesætte ændringerne i arbejdsområdet. Ændringerne i arbejdsområdet går tabt, og Git-status ændres til synkroniseret , hvis importen lykkes.
Vælg Bevar aktuelt indhold for at beholde den version, der aktuelt findes i arbejdsområdet. Når opdateringen er fuldført, bliver Git-status ikke-bekræftede ændringer , da ændringerne i arbejdsområdet endnu ikke er bekræftet i forgreningen.
Vend tilbage til en tidligere tilstand
Du kan gendanne enten hele arbejdsområdet eller Git-forgreningen til den senest synkroniserede tilstand. Hvis du gendanner Git-forgreningen til en tidligere bekræftelse, kan du stadig se de ændringer, der er foretaget af den ikke-synkroniserede forgrening. Hvis du gendanner arbejdsområdet, mister du alle de ændringer, der er foretaget i arbejdsområdet siden sidste bekræftelse.
Hvis du vil vende tilbage til den tidligere synkroniserede tilstand, skal du gøre en af følgende handlinger:
- Brug kommandoen Fortryd til at returnere uoverensstemmende elementer i arbejdsområdet til deres senest synkroniserede tilstand.
- Vend tilbage til den senest synkroniserede tilstand i Git ved hjælp af
git revert
kommandoen i Azure DevOps.
Du kan også løse konflikter ved at afbryde forbindelsen til og genoprette forbindelsen til arbejdsområdet. Når du opretter forbindelse igen, skal du vælge den retning, du vil synkronisere. Bemærk dog, at når du opretter forbindelse igen, overskriver den alle elementer i arbejdsområdet eller forgreningen og ikke kun de konfliktde elementer. Arbejdsområdet eller forgreningen returneres ikke til den senest synkroniserede tilstand. Det overskriver i stedet alt indholdet på ét sted med indholdet af det andet.
Løs konflikt i git
Hvis du ikke er sikker på, hvilke ændringer der er foretaget, og hvilken version du skal vælge og ikke vil vende tilbage til en tidligere tilstand, kan du prøve at løse konflikten i Git-lageret ved at oprette en ny forgrening, løse konflikten i den pågældende forgrening og synkronisere den med den aktuelle.
Bemærk
Det er kun en administrator af arbejdsområdet, der kan genoprette forbindelsen til den nye forgrening.
I kontrolpanelet Kilde kan du se en ny forgrening ved hjælp af det senest synkroniserede forgrenings-id, der vises nederst på skærmen
Dette trin opretter en ny forgrening fra den konfliktde forgrening ved hjælp af den senest synkroniserede Git-tilstand, før der blev foretaget ændringer, der er i konflikt med dine ændringer. Du kan se dine ændringer i Kontrolpanel Kilde, men der er ikke noget at opdatere fra forgreningen Git. Udtjekningsforgreningen bevarer den aktuelle arbejdsområdetilstand, så ændringer, der ikke er gemt, bevares, når forgreningen ændres.
Bekræft dine ændringer i den nye forgrening. Denne nye forgrening indeholder nu de ændringer, du har foretaget af de elementer, der er forbundet til en tidligere version af Git-forgreningen, som ikke er i konflikt med dine ændringer.
Løs konflikterne mellem den oprindelige forgrening og den nye forgrening i Git.
I Git skal du flette den nye forgrening til den oprindelige forgrening
I Fabric skal du skifte arbejdsområdet tilbage til den oprindelige forgrening.