Konfliktløsning
Det oppstår en konflikt når det gjøres endringer i samme element i både arbeidsområdet og det eksterne Git-repositoriet. Når det oppstår en konflikt, sier Git-statusen at Konflikt og utføring er deaktivert.
Når du velger Oppdater når det er konflikter, varsler en melding deg om at du må løse konfliktene før du kan oppdatere.
Det finnes tre måter å løse en konflikt på:
- Velg hvilken versjon du vil beholde gjennom brukergrensesnittet.
- Tilbakestille enten arbeidsområdet eller Git-repositoriet til en tidligere synkronisert tilstand.
- Løs konflikten i Git.
Løs konflikt i brukergrensesnittet
Velg Oppdater alle for å se en liste over alle elementene som har konflikter. Deretter kan du velge hvilken versjon du vil beholde for hvert element. For hvert konfliktelement kan du velge å godta innkommende endringer fra Git-repositoriet eller beholde den gjeldende versjonen som er i arbeidsområdet.
Velg Godta innkommende endringer for å overstyre endringene i arbeidsområdet. Endringene i arbeidsområdet går tapt, og Git-statusen endres til synkronisert hvis importen lykkes.
Velg Behold gjeldende innhold for å beholde versjonen i arbeidsområdet. Når oppdateringen er fullført, blir Git-statusen uforpliktende endringer ettersom endringene i arbeidsområdet ennå ikke er forpliktet til grenen.
Gå tilbake til en tidligere tilstand
Du kan tilbakestille enten hele arbeidsområdet eller Git-grenen til siste synkroniserte tilstand. Hvis du tilbakestiller Git-grenen til en tidligere utføring, kan du fortsatt se endringene som er gjort i den usynkroniserte grenen. Hvis du tilbakestiller arbeidsområdet, mister du alle endringene som er gjort i arbeidsområdet siden forrige utføring.
Hvis du vil gå tilbake til den tidligere synkroniserte tilstanden, gjør du én av følgende handlinger:
- Bruk Kommandoen Angre til å returnere motstridende elementer i arbeidsområdet til siste synkroniserte tilstand.
- Gå tilbake til den siste synkroniserte tilstanden i Git ved hjelp av
git revert
kommandoen i Azure DevOps.
Du kan også løse konflikter ved å koble fra og koble til arbeidsområdet på nytt. Når du kobler til på nytt, velger du retningen du vil synkronisere. Vær imidlertid oppmerksom på at når du kobler til på nytt, overskriver det alle elementer i arbeidsområdet eller grenen, og ikke bare de motstridende. Det returnerer ikke arbeidsområdet eller grenen til den siste synkroniserte tilstanden. I stedet overskriver det alt innholdet på ett sted med innholdet i det andre.
Løs konflikt i git
Hvis du ikke er sikker på hvilke endringer som ble gjort og hvilken versjon du vil velge og ikke vil gå tilbake til en tidligere tilstand, kan du prøve å løse konflikten i Git-repositoriet ved å opprette en ny gren, løse konflikten i denne grenen og synkronisere den med gjeldende.
Merk
Bare en administrator for arbeidsområdet kan koble arbeidsområdet til den nye grenen på nytt.
Sjekk ut en ny gren fra Kilde-kontrollpanelet ved hjelp av den siste synkroniserte gren-ID-en som vises nederst på skjermen
Dette trinnet oppretter en ny gren fra den motstridende grenen ved hjelp av den siste synkroniserte Git-tilstanden, før det ble gjort endringer som er i konflikt med endringene. Du kan se endringene i kildekontrollpanelet , men det er ingenting å oppdatere fra Git-grenen. Utsjekkingsgrenen beholder gjeldende arbeidsområdetilstand, slik at uforpliktende endringer beholdes når du endrer grenen.
Utfør endringene i den nye grenen. Denne nye grenen har nå endringene du har gjort i elementene som er koblet til en tidligere versjon av Git-grenen, som ikke er i konflikt med endringene.
Løs konfliktene mellom den opprinnelige grenen og den nye grenen i git.
Flett den nye grenen i den opprinnelige grenen i git
Bytt arbeidsområdet tilbake til den opprinnelige grenen i Fabric.