Git för utvecklare

Git är ett versionshanteringssystem som är speciellt utvecklat för att hantera stora komplexa distribuerade projekt. Systemet är ursprungligen framtaget för utveckling av Linuxkärnan, som utvecklas av ett tusental frivilliga utvecklare. Även om Git är framtaget för komplexa system fungerar det lika bra för små projekt och för egen utveckling.

Filosofin har varit att utvecklingen av ett stort komplext projekt bryts ner i små projekt som utvecklas självständigt av team, eller enskilda utvecklare, och att man har ett strukturerat sätt att godkänna och föra in ändringar i huvudreleasen.

Allt fler väljer att använda Git som versionshanteringsverktyg i sin utveckling, ofta i samband med att man arbetar enligt Continuous Integration, där man kontinuerligt integrerar ändringar i sin produkt på ett automatiserat sätt. Till exempel har Ericsson valt att använda Git i många av sina utvecklingsprojekt.

I kursen går vi igenom verktyget, sätter det i sitt sammanhang och gör praktiska övningar för att få en förståelse för hur verktyget används för versionshantering.

Målgrupp
Målgruppen är mjukvaruutvecklare, testare, blivande Git-administratörer eller intresserade projektledare som behöver en förståelse för Git och hur man använder verktyget för versionshantering både i det dagliga arbetet och i samarbete med andra i komplexa distribuerade projekt.

Mål
Efter kursen slut har du en förståelse för varför du ska använda ett versionshanteringssystem och vilka fördelar Git erbjuder jämfört med andra liknande system. Du vet hur du arbetar med Git både i din egen utvecklingsmiljö, i ditt teams miljö och i en komplex distribuerad miljö.  Du kan skapa och hantera brancher och taggar. Du kan checka in ändringar. Du kan utföra en rebase och en merge. samt göra push och pull mot andra repositories.

Bakgrundskunskaper
Deltagarna förväntas ha grundläggande kännedom om hur man arbetar med mjukvaruutveckling.

Språk
Utbildningsmaterialet är skrivet på engelska. Utbildningen kan genomföras antingen på svenska eller engelska.

Kurslängd
Kursen genomförs under en dag.

Innehåll

Introduktion
Vad är ett versionshanteringssystem och varför ska man använda ett sådant?
Skapa ett repositiory. Konfigurera det. Gör en första incheckning och en enkel push.
Genomgång av de grundläggande koncepten som repository, index, commit och SHA1 hash code.
Hantera index samt lägga till och ta bort filer.
Titta på loggen.
Titta på skillnader.

Brancher
Merge.
Rebase och Squash.
När ska man använda Merge eller Rebase?
Konflikthantering.

Användbara inställningar
Ignorera filer.
commita delar av en ändring.
Stash.
Tags.

Samarbeta med andra repositories
Local och remote branch.
Fetch, merge, pull.
Push.

Branchstrategier
nvie
Bransch per Feature.

Automatisering
Hooks.
Porcelain och Plumbing.

Kodgranskning med Gerrit.

Mer information
För mer information kontakta Åsa Detterfelt, 070-6595812, alternativt maila asa.detterfelt@mindroad.se.

Kurstillfällen:
Stockholm 12/12, 22/2, 25/4,  20/6
Göteborg 23/11, 30/1, 21/3, 23/5
Linköping 14/3

Anmälan och frågor:
Maila asa.detterfelt@mindroad.se för att anmäla dig, eller för eventuella frågor.