Om grenar och grenpolicyer
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Grenprinciper är en viktig del av Git-arbetsflödet och gör att du kan:
- Isolera pågående arbete från det slutförda arbetet i huvudgrenen
- Garantera att ändringar skapas innan de kommer till huvudversionen
- Begränsa vem som kan bidra till specifika grenar
- Framtvinga vem som kan skapa grenar och namngivningsriktlinjerna för grenarna
- Inkludera automatiskt rätt granskare för varje kodändring
- Tillämpa metodtips med nödvändiga kodgranskare
I följande tabell sammanfattas de principer som du kan definiera för att anpassa en gren. En översikt över alla principer och inställningar för lagringsplats och gren finns i Inställningar och principer för Git-lagringsplats.
Policy
Standardinställning
Beskrivning
Av
Kräv godkännande från ett angivet antal granskare för pull-begäranden.
Av
Uppmuntra spårning genom att söka efter länkade arbetsobjekt på pull-begäranden.
Av
Kontrollera att alla kommentarer har lösts vid pull-begäranden.
Av
Kontrollera grenhistoriken genom att begränsa de tillgängliga typerna av sammanslagning när pull-begäranden har slutförts.
Av
Lägg till en eller flera policyer för att validera kod genom att granska och bygga ändringar i pull-förfrågningar innan de slås samman. Kan också aktivera eller inaktivera principer.
Av
Lägg till en eller flera principer för att kräva att andra tjänster publicerar lyckad status för att slutföra pull-begäranden. Kan också aktivera eller inaktivera principer.
Av
Lägg till en eller flera principer för att utse kodgranskare som ska inkluderas automatiskt när pull-begäranden ändrar vissa kodområden. Kan också aktivera eller inaktivera principer.
Anta en Git-förgreningsstrategi
Det finns några kritiska grenar i ditt repo som teamet alltid förlitar sig på att de är i gott skick, till exempel din main
gren.
Kräv pull requests för att göra ändringar i dessa grenar. Utvecklare som push-överför ändringar direkt till de skyddade grenarna får sina push-meddelanden avvisade.
Håll din grenstrategi enkel genom att bygga din strategi utifrån dessa tre begrepp:
- Använd funktionsgrenar för alla nya funktioner och buggkorrigeringar.
- Sammanfoga funktionsgrenar till huvudgrenen med hjälp av pull-begäranden.
- Håll en hög kvalitet och uppdaterad huvudgren, up-to.
En strategi som utökar dessa begrepp och undviker motsägelser resulterar i ett arbetsflöde för versionskontroll för ditt team som är konsekvent och lätt att följa.
- Anta en förgreningsstrategi
- Så här konfigurerar du grenprinciper
- Branch-behörigheter
- Kräva mapp för gren
- Konfigurera en grenprincip för en extern tjänst
Skapa arbete i grenar
Git-grenar är inte mycket annat än en liten referens som behåller en exakt historik över commits, så de är billiga att skapa.
Att checka in ändringar i en gren påverkar inte andra grenar. Du kan dela grenar med andra utan att behöva koppla ändringarna till huvudprojektet.
Du kan skapa nya grenar för att isolera ändringar för en funktion eller en felkorrigering från huvudgrenen och annat arbete.
Eftersom grenarna är lätta är det snabbt och enkelt att växla mellan grenar. Git skapar inte flera kopior av källan när du arbetar med grenar – den använder historikinformationen som lagras i incheckningar för att återskapa filerna på en gren när du börjar arbeta med den.
Ditt Git-arbetsflöde bör skapa och använda grenar för att hantera funktioner och felkorrigeringar.
Resten av Git-arbetsflödet, till exempel dela kod och granska kod med hjälp av pull-begäranden arbetar alla via grenar.
Att isolera arbete i grenar gör det enkelt att ändra det du arbetar med genom att ändra din aktuella gren.
Hur skapas Git-grenar?
Du skapar grenar med hjälp av kommandot branch
.
Branch
skapar en referens i Git för den nya grenen och en pekare tillbaka till den överordnade incheckningen så att Git kan behålla en historik över ändringar när du lägger till incheckningar i grenen.
När du arbetar med en gren som någon annan har delat behåller Git en överordnad spårningsrelation. Relationen associerar grenen på den lokala lagringsplatsen med motsvarande gren på fjärrplatsen.
Uppströmsspårning gör det enkelt att synkronisera ändringar med andra med hjälp av push- och pull-.
I den här skärmbilden kan du se en ny gren som har skapats från huvudgrenen. Arbetet fortsätter på båda grenarna och incheckningar läggs till i båda grenarna.
Git lägger alltid till nya commits i den aktuella lokala grenen. Kontrollera vilken branch du arbetar med innan du committar så att du inte committar ändringar i fel branch.
Växla mellan lokala grenar med hjälp av kommandot checkout
. Git ändrar filerna på din dator så att de matchar den senaste kommitt på den utcheckade grenen.
När ditt arbete i grenen är redo att dela med resten av teamet du skicka ändringarna för att uppdatera fjärrgrenen.
Ett vanligt misstag är att göra vissa ändringar och commit
dem, inse att du är på en felaktig gren och sedan checkout
till rätt gren.
De senaste ändringarna finns inte längre i filsystemet eftersom varje gren har en egen kodversion.
Git för tillbaka filernas tillstånd till den senaste incheckningen på den gren som du bytte till, inte den föregående grenen där du gjorde dina ändringar.
Du måste antingen cherry-pick incheckningarna från grenen eller slå samman ändringarna i rätt gren.
Använd grenar för att hantera utveckling
Git håller reda på vilken gren du arbetar med och ser till att när du checkout
en gren matchar dina filer den senaste incheckningen på grenen.
Med grenar kan du arbeta med flera versioner av källkoden på samma lokala Git-lagringsplats samtidigt.
Tala om för Git vilken gren du vill arbeta med med checkout
, och Git tar hand om att ange rätt filversioner för den grenen.
Du behöver inte mer än ett repo i ditt system när du använder grenar för att isolera ditt arbete.
Konfigurera utvecklingsmiljön en gång efter att du klona. Använd sedan Git-grenar för att växla mellan funktionsarbete och felkorrigering.
Guide för hur du förgrenar
Lär dig hur du utför vanliga uppgifter när du arbetar med grenar.
- Handledning om grenar
- Skapa en gren
- Ta bort en gren
- Återställ en borttagen gren
- Så här låser du grenar