Pull request (PR)
Ett förslag om att föra in ändringarna från en branch i en annan, så att andra kan granska och diskutera dem först.
- Kallas även
- merge request, MR, ändringsförfrågan
- Kategori
- Git
Pull request, PR, merge request, MR, ändringsförfrågan, ändringsförfrågningar, pull requests
Enkel förklaring
En pull request, förkortat PR, är ett förslag: “Här är mina ändringar. Vill ni föra in dem?”.
Du har gjort ändringar på en egen branch. I stället för att föra in dem direkt i huvudversionen öppnar du en pull request. Andra kan då läsa ändringarna, kommentera, be om justeringar och till sist godkänna dem. Först när förslaget godkänns och förs in ändras huvudversionen.
I Forgejos svenska gränssnitt heter en pull request ändringsförfrågan. I GitLab heter samma sak merge request.
Teknisk förklaring
Pull requests är en funktion i tjänster som Forgejo, GitHub och GitLab, inte i Git självt. En pull request visar:
- skillnaden (diff): vilka rader som lagts till och tagits bort
- kommentarer, även på enskilda rader
- granskningar: godkännanden eller begäran om ändringar
- automatiska kontroller, till exempel resultatet från CI
Tjänsten kan kräva ett visst antal godkännanden och gröna kontroller innan förslaget får föras in. När det förs in görs en merge.
Praktiskt exempel
I Kodkollektivet Academy skrivs ändringarna av en AI-agent. Agenten öppnar en pull request, och CI kör alla tester automatiskt. Sedan granskar en människa ändringen. Först när människan har godkänt den förs den in.
När och varför används det?
Pull requests används när fler än en person, eller en person och en AI, arbetar i samma projekt. De gör att någon annan alltid ser en ändring innan den gäller, och att diskussionen sparas tillsammans med ändringen.
Rekommendation:
- Håll pull requests små, så att de går att granska ordentligt.
- Beskriv vad ändringen gör och varför, och vad granskaren bör titta extra på.
Vanliga missförstånd
- “Pull request är en Git-funktion.” Nej. Det är en funktion i tjänsten där repot lagras.
- “När PR:en är öppnad är ändringen gjord.” Nej. Ingenting ändras i huvudversionen förrän förslaget förs in.
- “Pull betyder att jag skickar.” Namnet kommer från att mottagaren ombeds dra in (pull) ändringarna i sin gren.