En enkel branch-strategi
Det här lär du dig
Section titled “Det här lär du dig”- Vad en branch-strategi är.
- Fem enkla regler som räcker långt:
mainfungerar alltid, en gren per uppgift, korta grenar, tydliga namn och att städa efter sig. - Att hitta grenar som kan tas bort, med
git branch --merged.
Varför behövs det här?
Section titled “Varför behövs det här?”Grenar kan användas hur som helst, och det är just därför det behövs regler. Utan regler blir det snabbt många halvfärdiga grenarBranchEn egen utvecklingslinje i ett repository, där man kan göra ändringar utan att påverka huvudversionen.Läs mer om grenar som ingen minns vad de var till för, och stora konflikter när de till sist ska föras ihop. När flera personer arbetar i samma projekt måste alla dessutom göra på samma sätt. En branch-strategi är de regler ett projekt har kommit överens om.
Så hänger det ihop
Section titled “Så hänger det ihop”Det finns stora och avancerade strategier. Den här kursen använder en enkel, som många projekt använder och som räcker för det mesta:
mainfungerar alltid. Gör inga ändringar direkt påmain. Det som finns där ska gå att använda.- En gren per uppgift. Varje ny dag, rättelse eller idé får en egen gren, som skapas från
main. - Korta grenar. För in grenen i
mainså snart uppgiften är klar, gärna samma dag. Ju längre en gren lever, desto mer hinnermainändras, och desto större blir risken för konflikter. - Tydliga namn. Namnet säger vad grenen är till för.
- Städa efter dig. Ta bort grenen när den är införd.
Exempel
Section titled “Exempel”Namn på grenar
Section titled “Namn på grenar”| Mindre bra | Bättre |
|---|---|
test |
dag-5-umea |
kims-gren |
ratta-stavning-vasteras |
ny |
packlista-vinter |
fix2 |
ta-bort-dag-3 |
Använd små bokstäver och bindestreck i stället för mellanslag. Mellanslag är inte tillåtna i namn på grenar. Undvik å, ä och ö: de fungerar i Git, men inte alltid i andra verktyg.
Vilka grenar kan tas bort?
Section titled “Vilka grenar kan tas bort?”git branch --merged visar de grenar som redan är helt införda i den gren du står på. De kan tas bort
utan att något försvinner:
$ git branch --merged dag-5-umea* mainHär är dag-5-umea införd i main och kan tas bort med git branch -d dag-5-umea.
En hel uppgift
Section titled “En hel uppgift”Så här ser en uppgift ut från början till slut, med reglerna ovan:
git switch maingit switch -c dag-5-umea# ändra resplan.txtgit add resplan.txtgit commit -m "Lägg till dag 5: Umeå"git switch maingit merge dag-5-umeagit branch -d dag-5-umeaRaden som börjar med # är en kommentar. Den är inget kommando, utan bara en påminnelse om att du ändrar
filen där.
Övning
Section titled “Övning”Vanliga problem
Section titled “Vanliga problem”Testa dig själv
Section titled “Testa dig själv”Sammanfattning
Section titled “Sammanfattning”- En branch-strategi är de regler ett projekt följer för hur grenar används.
mainfungerar alltid. Varje uppgift får en egen, kort gren som skapas frånmain.- Ge grenar tydliga namn med små bokstäver och bindestreck.
git branch --mergedvisar grenar som är införda och kan tas bort medgit branch -d.- I ett samarbete granskas grenen i en pull request innan den förs in. Det kommer i modul 6.