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.

Screenshot of a report with a Git status that says conflict.

Vigtigt

Denne funktion er en prøveversion.

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.

Screenshot of error message from source control tab informing about conflicts.

Der er tre måder at løse en konflikt på:

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.

Screenshot of UI to select which version of a conflicted item to keep.

  • 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.

  1. I ruden Kildekontrolelement skal du se en ny forgrening ved hjælp af det senest synkroniserede forgrenings-id, der vises nederst på skærmen

    Screenshot showing how to check out a new branch from the source control pane by selecting the down arrow.

    Screenshot of branch ID information shown on bottom of the screen.

    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 ruden Kildekontrolelement , 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.

  2. 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.

  3. Løs konflikterne mellem den oprindelige forgrening og den nye forgrening i Git.

  4. I Git skal du flette den nye forgrening til den oprindelige forgrening

  5. I Fabric skal du skifte arbejdsområdet tilbage til den oprindelige forgrening.