Pull requests och kodgranskning
↑CLI-exempel märkta Bash fungerar i Git Bash på Windows 10 och Windows 11 eller Bash på Linux, med Git installerat. Bash-tilldelningar som DEFAULT_BRANCH=main är kommandotolkens syntax; kör exemplen i Git Bash i stället för att klistra in dem i PowerShell eller Kommandotolken.
En pull request (PR) föreslår att ändringar i en gren ska slås ihop med en annan. På GitLab heter motsvarande arbetsflöde merge request (MR). Granskningen handlar inte bara om diffen utan också om syfte, korrekthet, testning, felhantering, säkerhet och om andra kan underhålla lösningen.
Skapa en granskningsförfrågan
Section titled “Skapa en granskningsförfrågan”- Gör commit och publicera feature-grenen.
- Välj Preview Pull Request eller Create Pull Request om valet visas.
- Kontrollera att base är
mainoch att din feature-gren jämförs mot den. - Desktop öppnar GitHub i webbläsaren där du kompletterar beskrivning, etiketter, granskare och eventuell draft-status.
- För GitLab skapar du i stället en merge request via GitLabs webbgränssnitt.
git status --short --branchgit fetch origingit log --oneline origin/main..HEADgit diff --stat origin/main...HEADgit push -u origin feature/42-inventory# Valfritt med separat installerad och inloggad GitHub CLI:gh pr create --base main --head feature/42-inventory --draftPå GitLab använder du webbgränssnittet eller den separat installerade glab. Grundprogrammet git hanterar inte GitHub-ärenden eller pull requests.
Skriv en användbar beskrivning
Section titled “Skriv en användbar beskrivning”Förklara vad som ändrades, varför, hur det testades och vilka risker som finns. Koppla relevanta ärenden och beskriv hur fel kan återskapas. Bifoga skärmbilder när de ger granskaren förståelse. Vid migreringar behöver ordning för driftsättning och rollback dokumenteras. Publicera aldrig hemligheter i en öppen PR.
Granskning, tester och sammanslagning
Section titled “Granskning, tester och sammanslagning”Se Merge commit, squash eller rebase? för historik före/efter, fördelar och nackdelar samt skillnaden mellan lokal integration och en PR/MR.
Granskaren bör kontrollera viktiga kodvägar och specialfall. CI kan hitta byggfel och automatiska regressioner, men kan inte ersätta mänsklig granskning. Använd obligatoriska kontroller och skyddade grenar som faktiska spärrar.
Merge commit bevarar grenens sammanslagningspunkt. Squash merge samlar branchens arbete i en commit. Rebase merge placerar om commits för en mer linjär historik. Välj en teamstandard medvetet och skriv inte om andras publicerade arbete enbart för snygg historik. Kontrollera efteråt vilken commit som faktiskt driftsatts.
Fortsätt med grenar, konflikter och GitHubs Desktop-guide.
Grennamn:
mainanvänds som exempel. Användmastereller projektets verkliga standardgren där det behövs. Se Git-begrepp.
