Samarbeta med pull-begäranden
Med pull-begäranden kan du berätta för andra om ändringar som du har push-överfört till en GitHub-lagringsplats.
När en pull-begäran har skickats kan berörda parter granska uppsättningen ändringar, diskutera potentiella ändringar och till och med skicka uppföljningsbegäranden om det behövs.
Pull-begäranden används ofta av team och organisationer som samarbetar med modellen för delad lagringsplats.
Alla delar en enda lagringsplats och ämnesgrenar används för att utveckla funktioner och isolera ändringar.
Många projekt med öppen källkod på GitHub använder pull-begäranden för att hantera ändringar från deltagare.
De hjälper dig att meddela projektunderhållarna om ändringar som en har gjort.
Starta också kodgranskning och allmän diskussion om en uppsättning ändringar innan du sammanfogas till huvudgrenen.
Pull-begäranden kombinerar granskning och sammanslagning av koden till en enda samarbetsprocess.
När du är klar med att åtgärda en bugg eller en ny funktion i en gren skapar du en ny pull-begäran.
Lägg till teammedlemmarna i pull-begäran så att de kan granska och rösta om dina ändringar.
Använd pull-begäranden för att granska pågående arbeten och få tidig feedback om ändringar.
Det finns inget åtagande att sammanfoga ändringarna eftersom ägaren kan avbryta pull-begäran när som helst.
Få din kod granskad
Kodgranskningen som görs i en pull-begäran är inte bara för att hitta buggar– det är vad dina tester gäller.
En bra kodgranskning fångar upp mindre uppenbara problem som kan leda till kostsamma problem senare.
Kodgranskningar hjälper till att skydda ditt team från felaktiga sammanslagningar och brutna byggen som minskar teamets produktivitet.
Granskningen fångar dessa problem före sammanfogningen, vilket skyddar dina viktiga grenar från oönskade ändringar.
Korsbestämningsexpertis och sprida problemlösningsstrategier med hjälp av en mängd olika granskare i dina kodgranskningar.
Genom att sprida kunskaper och färdigheter blir ditt team mer robust och mer motståndskraftigt.
Ge bra feedback
Högkvalitativa recensioner börjar med feedback av hög kvalitet. Nycklarna till bra feedback i en pull-begäran är:
- Låt rätt personer granska pull-begäran.
- Kontrollera att granskarna vet vad koden gör.
- Ge handlingsbar, konstruktiv feedback.
- Svara snabbt på kommentarer.
När du tilldelar granskare till din pull-begäran kontrollerar du att du väljer rätt uppsättning granskare.
Du vill att granskare som vet hur koden fungerar och försöker inkludera utvecklare som arbetar inom andra områden för att dela med sig av sina idéer.
Dessutom, vem kan ge en tydlig beskrivning av dina ändringar och skapa din kod som har din korrigering eller funktion körs i den.
Granskare bör försöka ge feedback om ändringar som de inte håller med om. Identifiera problemet och ge ett specifikt förslag på vad du skulle göra annorlunda.
Den här feedbacken har en tydlig avsikt och är enkel för ägaren av pull-begäran att förstå.
Ägaren av pull-begäran bör svara på kommentarerna, acceptera förslaget eller förklara varför den föreslagna ändringen inte är idealisk.
Ibland är ett förslag bra, men ändringarna ligger utanför omfånget för pull-begäran.
Ta dessa förslag och skapa nya arbetsobjekt och funktionsgrenar separat från pull-begäran för att göra dessa ändringar.
Skydda grenar med principer
Dina lagringsplatser innehåller vanligtvis en eller flera grenar, inklusive main, som kräver extra skydd på grund av deras allvarlighetsgrad. Azure Repos erbjuder flera principbaserade mekanismer som du bör överväga att implementera för att hjälpa dig att nå det här målet.
Den grundläggande förutsättningen för dessa mekanismer är att tillämpa begränsningar för pull-begäranden. Du kan till exempel inkludera att framtvinga specifika principer för kodgranskning, till exempel att kräva ett minsta antal godkännanden från utsedda granskare innan en pull-begäran kan sammanfogas. Att utnyttja kollektiv expertis kommer säkert att förbättra kvaliteten och tillförlitligheten för kodändringar.
Överväg också att implementera principen Sök efter länkade arbetsobjekt. Detta verifierar att varje pull-begäran är länkad till ett arbetsobjekt, vilket ger kontext och främjar spårningsbarhet. Policyn Kontrollera kommentarsmatchning hjälper till att säkerställa att alla kommentarer för kodgranskning åtgärdas innan pull-begäran slås samman.
Principer som rör automatiserad kodanalys, testning och efterlevnadskontroller bekräftar att ändringarna uppfyller fördefinierade standarder före integrering. Om du begränsar sammanslagningstyper kan du behålla kontrollgrenens historik. Du kan till exempel bara tillåta snabbsnabb- och squashsammanslagningar.
Det är också möjligt att kräva rena versioner av nya kodversioner innan de kan sammanfogas till de kritiska grenarna. Detta säkerställer att de sammanslagna ändringarna inte medför byggfel eller regressionsproblem. Statuskontroller kan användas för att göra slutförandet av pull-begäranden beroende av signaler som genereras av externa tjänster. Sådana signaler kan till exempel genereras av Azure Pipelines som kör automatiserade tester och kodanalys.
Alla grenar som har nödvändiga principer som konfigurerats blockerar automatiskt direkt push-överföring, vilket effektivt framtvingar pull-begäranden för alla ändringar. Dessutom kan sådana grenar inte tas bort.