Om pull-begäranden
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Pull-begäranden (PR) är ett sätt att ändra, granska och slå samman kod på en Git-lagringsplats på Azure Repos. PR:er kan komma från grenar på samma lagringsplats eller från grenar i förgreningar på lagringsplatsen. Teams använder PR:er för att granska kod och ge feedback om ändringar innan de sammanfogar koden till huvudgrenen. Granskare kan gå igenom de föreslagna ändringarna, lämna kommentarer och rösta för att godkänna eller avvisa koden.
I den här artikeln beskrivs riktlinjer för pull-begäranden och hanteringsöverväganden. Anvisningar om hur du skapar, visar, granskar och slutför pull-begäranden finns i följande artiklar:
- Skapa pull-begäranden
- Visa och öppna pull-begäranden
- Granska pull-begäranden
- Slutför pull-begäranden
Kommentar
Av prestanda- och stabilitetsskäl måste antalet granskare som kan läggas till i en pull-begäran vara 1 000 eller mindre. Nya pull-begäranden skapas inte när fler än 1 000 granskare läggs till, och befintliga pull-begäranden tillåter inte att du lägger till fler än 1 000 granskare.
Behörigheter och krav
Lagringsplatser måste vara aktiverade i projektet. Om lagringshubben och de associerade sidorna inte visas kan du läsa Aktivera eller inaktivera en Azure DevOps-tjänst till lagringsbara lagringsplatser.
Om du vill visa eller granska PR:er måste du vara medlem i ett Azure DevOps-projekt med grundläggande åtkomst eller högre.
- Om du inte har ett projekt skapar du ett eller registrerar dig kostnadsfritt.
- Om du inte är projektmedlem läggs du till.
Om du vill bidra till en PR måste du vara medlem i säkerhetsgruppen Läsare eller ha motsvarande behörigheter.
Om du vill skapa och slutföra en PR måste du vara medlem i säkerhetsgruppen Deltagare eller ha motsvarande behörigheter.
Kommentar
För offentliga projekt har användare som beviljats intressentåtkomst fullständig åtkomst till Azure Repos.
- Lagringsplatser måste vara aktiverade i projektet. Om lagringshubben och de associerade sidorna inte visas kan du läsa Aktivera eller inaktivera en Azure DevOps-tjänst till lagringsbara lagringsplatser.
- Om du vill visa eller granska PR:er måste du vara medlem i ett Azure DevOps-projekt med grundläggande åtkomst eller högre. Om du inte är projektmedlem läggs du till.
- Om du vill bidra till en PR måste du vara medlem i säkerhetsgruppen Läsare eller ha motsvarande behörigheter.
- Om du vill skapa och slutföra en PR måste du vara medlem i säkerhetsgruppen Deltagare eller ha motsvarande behörigheter.
Mer information om behörigheter och åtkomst finns i Git-standardlagringsplats och grenbehörigheter och Om åtkomstnivåer.
Kvalitetsfeedback för pull-begäranden
Högkvalitativa recensioner börjar med feedback av hög kvalitet. Här är några nycklar till bra PR-feedback:
- PR-ägaren bör ha rätt personer som granskar PR och se till att granskarna vet vad koden gör.
- Granskare bör ge handlingsbar, konstruktiv feedback.
- Ägare och granskare bör kommentera och svara snabbt.
PR-ägare bör:
- Se till att välja rätt granskare att tilldela till en PR.
- Inkludera granskare som vet hur koden fungerar.
- Be utvecklare som arbetar inom andra områden att dela med sig av sina idéer.
- Ge en tydlig beskrivning av ändringar.
- Ge granskare vägledning med pull-begärandemallar.
- Ange en version av koden med korrigeringen eller funktionen som körs i den.
- Svara på kommentarer, acceptera förslaget eller förklara varför den föreslagna ändringen inte är idealisk.
- Om du vill ha bra förslag utanför pr-omfånget skapar du nya arbetsobjekt, grenar och PR:er för att göra dessa ändringar.
Granskare bör utföra följande uppgifter.
- Ge feedback om ändringar som de inte samtycker till
- Identifiera problem och ge specifika förslag på vad du ska göra på olika sätt
- Kontrollera att feedbacken har en tydlig avsikt och är lätt att förstå
- Lämna kommentarer eller rösta om ändringar
Mer information finns i Hämta feedback med Git-pull-begäranden.
Grenprinciper och pull-begäranden
Ditt team kan förlita sig på kritiska grenar på lagringsplatsen, till exempel grenen main
, för att alltid vara i god form. Du kan ange att förgreningsprinciper ska kräva pr för ändringar i dessa skyddade grenar och avvisa ändringar som skickas direkt till grenarna.
Du kan lägga till fler principer i PR:er för att framtvinga bättre kodkvalitet i nyckelgrenar. Extra krav som en ren version av den föreslagna koden eller godkännande från flera granskare kan hjälpa till att skydda nyckelgrenar.
Du kan ange antalet nödvändiga godkännanden för en PR i en grenprincip. Du kan också ange att vissa granskare ska vara obligatoriska eller valfria på alla eller vissa pr-flöden. En pr kan ställas in på automatisk komplettering med det antal godkännanden som krävs, även om andra granskare avvisar ändringarna. Nödvändiga granskare måste dock godkänna PR:er innan de kan slås samman. Det är bästa praxis för minst två granskare att granska och godkänna ändringar i en betydande PR.
Om du vill återställa röster när en PR-författare skickar nya ändringar väljer du Återställ kodgranskarens röster när det finns nya ändringar i grenprincipen Kräv ett minsta antal granskare .
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.
Princip
Standardvärde
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 principer för att verifiera kod genom att före sammanslagning och skapa pull-begärandeändringar. 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.
Mer information finns i:
- Översikt över grenprinciper
- Så här konfigurerar du grenprinciper
- Grenbehörigheter
- Använd Azure Functions för att skapa anpassade grenprinciper
Definiera statuskontroller för att förbättra kodkvaliteten
Med pull-begäranden och grenprinciper kan teamen tillämpa metodtips för att granska kod och köra automatiserade versioner. Många team har ytterligare krav och valideringar att göra med kod. För att täcka dessa behov kan du integrera PR-statuskontroller i PR-arbetsflödet. Med PR-statuskontroller kan externa tjänster programmatiskt logga ut kodändringar genom att associera information om lyckade eller misslyckade uppgifter med PR.
Mer information finns i följande artiklar:
- Anpassa och utöka arbetsflöden för pull-begäranden med status för pull-begäran
- Skapa en PR-statusserver med Node.js
- Konfigurera en grenprincip för en extern tjänst
Problem med flera sammanslagningsbaser
I vissa fall har en PR mer än en sann sammanslagningsbas, och den här situationen kan orsaka säkerhetsproblem. Om filerna i PR har olika versioner mellan sammanslagningsbaserna ges en varning om flera sammanslagningsbaser. Mer information och reparation finns i Flera sammanslagningsbaser.