Hjem » Siste artikler » Pull requests forklart: slik samarbeider du tryggere og ryddigere med Git

Pull requests forklart: slik samarbeider du tryggere og ryddigere med Git

Hovedillustrasjon
Hovedillustrasjon. Foto: Daniil Komov / Pexels.

Flere og flere prosjekter flytter alt arbeidet sitt inn i Git-plattformer som GitHub, GitLab og Bitbucket. Da dukker begrepet pull request (eller merge request) fort opp, og mange blir litt usikre på hva som egentlig skjer.

I denne artikkelen får du en jordnær forklaring på hva en pull request er, hvorfor den er nyttig, og hvordan du kan bruke den steg for steg for å samarbeide tryggere og mer strukturert på kode.

Hva er en pull request, egentlig?

En pull request er et forslag om å slå sammen endringer fra en gren til en annen. Ofte betyr det: du har gjort arbeid i en egen gren, og ber om å få dette inn i hovedgrenen, vanligvis kaltmainellermaster.

I stedet for at du bare slår sammen selv, lager du en “pakke” med endringer som andre kan lese, kommentere og godkjenne. Pull requesten viser hvilke filer som er endret, hvem som har gjort det, og ofte hvorfor.

Hvorfor bruke pull requests i små prosjekter?

Mange tenker at pull requests bare er for store team, men de er nyttige også om du jobber alene, eller i et lite prosjekt. De gir deg et ryddig arkiv over hva som ble endret når, og med hvilken hensikt.

Bruker du pull requests, blir det også lettere å rulle tilbake feil, forstå gamle avgjørelser og skille mellom eksperimenter og faktisk godkjent kode.

Grunnideen: jobb i en egen gren

Før du kan lage en pull request, trenger du en separat gren for endringene dine. Det hjelper deg å holde hovedgrenen stabil, samtidig som du kan teste og justere fritt i din egen arbeidskopi.

Typisk arbeidsflyt ser ofte slik ut:

  • Oppdater hovedgrenen din lokalt
  • Lag en ny gren for oppgaven du skal gjøre
  • Gjør endringer og commit underveis
  • Push grenen til serveren
  • Opprett en pull request fra denne grenen til hovedgrenen

Eksempel med Git og GitHub

La oss si at du har et prosjekt på GitHub og vil legge til en ny funksjon. Først oppdaterer du lokalt:

Eksempel:

1.Sikre at du står på hovedgrenen og er oppdatert:

git checkout main
git pull origin main

2.Lag en ny gren for funksjonen:

git checkout -b feature/ny-funksjon

Gjør endringer og committer ryddig

Nå kan du redigere filer, teste lokalt og dele opp arbeidet i logiske commits. Det er lurt å gjøre mindre, fokuserte commits, for eksempel en for strukturendringer og en for selve logikken.

Når du har gjort noen endringer:

git status
git add .
git commit -m “Legg til enkel versjon av ny funksjon”

Push og opprett selve pull requesten

Når grenen din er klar til å deles, må den opp på Git-serveren:

git push -u origin feature/ny-funksjon

Deretter går du til prosjektet ditt i nettleseren. Plattformen vil ofte foreslå at du oppretter en pull request fra den nye grenen. Hvis ikke, velg “Compare & pull request” eller tilsvarende og velg riktig kildegren og målgren.

Slik skriver du en god beskrivelse

En pull request med god beskrivelse gjør det enklere å forstå hva som skal inn, og hva som bør få ekstra oppmerksomhet. Tenk at andre (eller fremtidige deg) skal skjønne det raskt.

En nyttig struktur kan være:

  • Tittel:Kort og konkret, for eksempel “Legg til validering av e-post i registreringsskjema”.
  • Hva:2–4 setninger om hva som er gjort.
  • Hvorfor:Hva problemet var, eller hvilket behov endringen dekker.
  • Test:Kort hvordan du har testet, og hva andre bør prøve.

Code review: hva du bør se etter

Tematisk illustrasjon
Tematisk illustrasjon. Foto: Radowan Nakif Rehan / Unsplash.

Når noen andre ser på pull requesten din, kalles det en code review. Målet er ikke å “ta” noen, men å sammen levere bedre og tryggere kode. Selv i små prosjekter er det nyttig å ha faste ting å sjekke.

Typiske punkter:

  • Er logikken forståelig uten å måtte gjette?
  • Er navngivningen på variabler, funksjoner og filer tydelig?
  • Finnes det åpenbare feil, manglende feilhåndtering eller risiko for krasj?
  • Er det gamle TODO-kommentarer eller debugging-kode som bør fjernes?
  • Påvirker endringen sikkerhet, ytelse eller persondata?

Kommentering uten konflikter

I pull requesten kan du legge inn kommentarer på linjer i koden, eller generelle kommentarer. Prøv å være konkret, rolig og løsningsorientert, spesielt om du peker på problemer.

Eksempel på nyttig kommentar: “Her kastes en generell feil. Bør vi logge mer informasjon, eller bruke en mer spesifikk feilkategori for enklere feilsøking?”

Oppdatere pull requesten etter tilbakemeldinger

Etter tilbakemeldinger kan du gjøre justeringer direkte i grenen. Nye commits vil dukke opp automatisk i den samme pull requesten, så du slipper å lage en ny for hver endring.

En vanlig sirkel er: les kommentarer, gjør endringer, commit, push, og skriv en kort kommentar om hva du har oppdatert. Da blir prosessen oversiktlig for alle.

Merge, squash eller rebase: hvilken metode bør du velge?

Når pull requesten er godkjent, skal den inn i hovedgrenen. Plattformene tilbyr ofte flere alternativer, som “Merge”, “Squash and merge” og “Rebase and merge”.

I mange små og mellomstore prosjekter erSquash and mergeet greit standardvalg. Da samles alle commits fra grenen til én ren commit i hovedgrenen, som gjør historikken enklere å lese. Men hvis dere vil se nøyaktig historikk, kan vanlig merge være bedre.

Vanlige fallgruver og hvordan du unngår dem

Det er noen typiske problemer mange møter når de jobber med pull requests. Heldigvis er de lette å forebygge når du vet om dem.

  • Altfor store pull requests:Del opp arbeidet i mindre biter når det er mulig. Mindre endringer er enklere å reviewe og feilsøke.
  • Mangler tester:Selv enkle manuelle sjekker bør beskrives. Har du automatiske tester, sørg for at de kjører og er grønne før du ber om review.
  • Utgåtte grener:Hvis pull requesten har ligget lenge, kan hovedgrenen ha endret seg. Da kan det være lurt å oppdatere grenen din med siste versjon før merge, slik at konflikter løses tidlig.

Når du jobber alene: bruk pull requests som logg

Selv om du er eneste person på prosjektet, kan du ha nytte av pull requests som historikk. Du får et tydelig skille mellom “pågående arbeid” og “ferdig og godkjent”, selv om det er du selv som godkjenner.

Det gjør det lettere å se tilbake på hvorfor du tok visse valg, og gir deg en form for egenkontroll som ofte oppdager feil før de havner i produksjon.

Oppsummering: små grep som gir bedre samarbeid

Pull requests handler i bunn og grunn om å stoppe opp et øyeblikk før noe blir en del av hovedkoden din. Du får et naturlig sted for diskusjon, gjennomgang og dokumentasjon av endringer.

Begynn enkelt: lag en egen gren for hver oppgave, skriv en kort men tydelig beskrivelse i pull requesten, og gjør det til en vane å reviewe med fokus på forståelighet og trygghet. Små prosjekter kan da få mange av de samme kvalitetseffektene som store, erfarne team.

0 kommentarer