Introduktion till git Anders Engström 23 februari 2012 1 / 27
Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository Första gången med ett repository Koppla in fler användare Använda git Vardagligt användande Taggar Branching Undo En närmare titt på historien Ignorera filer Git i Windows Avslutning Sammanfattning Källförteckning och länkar Frågor och kommentarer 2 / 27
Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository Första gången med ett repository Koppla in fler användare Använda git Vardagligt användande Taggar Branching Undo En närmare titt på historien Ignorera filer Git i Windows Avslutning Sammanfattning Källförteckning och länkar Frågor och kommentarer 3 / 27
I en värld utan versionshantering Hur arbetar man i grupp? Delad mapp. Maila filer fram och tillbaka. Hur omintetgör man en förändring man ångrar? Skriv om delar av koden så att den blir som den var förut. Skapa kopior i förväg av filer enligt en namngivningskonvention. Leta runt bland gamla mail. Kan ni komma på något mer sätt? 4 / 27
Typer av versionshantering Hur hanterar man att flera kan ändra? Lås på filer Sammanfogning (merge) Var lagras informationen? Centraliserat Distribuerat 5 / 27
Detta är git Git är: Ett snabbt distribuerat versionshanteringssystem. Skrivet för Linux kerneln (av Linus Torvalds) Massor av andra projekt använder det också. Git är open source, GPL osv. Vi tittar på: Mestadels officiella kommandorads-klienten. (Finns även till windows.) Även lite snabbt på en grafisk windows-klient. 6 / 27
Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository Första gången med ett repository Koppla in fler användare Använda git Vardagligt användande Taggar Branching Undo En närmare titt på historien Ignorera filer Git i Windows Avslutning Sammanfattning Källförteckning och länkar Frågor och kommentarer 7 / 27
Förberedelser Vem är du? 1 g i t c o n f i g g l o b a l u s e r. name Anders E n g s t r öm 2 g i t c o n f i g g l o b a l u s e r. e m a i l ankan@ludd. l t u. s e Skapa en gemensam lagringsplats Flertalet websidor erbjuder gratis hosting. (Github, Bitbucket) Skapa konto och repository där. Eller skapa ett eget repository manuellt på en egen server. 8 / 27
Eget repository Skapa eget repository manuellt (på en server): 1 g i t i n i t b a r e s h a r e d t e s t. g i t 2 groupadd t e s t p r o j e c t 3 chgrp R t e s t p r o j e c t t e s t. g i t 4 chmod R 770 t e s t. g i t 9 / 27
Att börja lägga in saker Förbered ett enkelt repository att ladda upp (på en klient-dator): 1 g i t i n i t t e s t 2 cd t e s t 3 touch README 4 g i t add README 5 g i t commit m f i r s t commit 10 / 27
Koppla ihop med servern första gången Bitbucket: 1 g i t remote add o r i g i n h t t p s : / / a n k a a n @ b i t bucket. org / ankaan / t e s t. g i t Github: 1 g i t remote add o r i g i n g i t @ g i t h u b. com : ankaan / t e s t. g i t Egen server: 1 g i t remote add o r i g i n a n k a n @ l o c a l h o s t : t e s t. g i t Ladda upp: 1 g i t push u o r i g i n master 11 / 27
Koppla in fler användare I fortsättningen för att koppla in fler användare: 1 g i t c l o n e a n k a n @ l o c a l h o s t : t e s t. g i t 12 / 27
Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository Första gången med ett repository Koppla in fler användare Använda git Vardagligt användande Taggar Branching Undo En närmare titt på historien Ignorera filer Git i Windows Avslutning Sammanfattning Källförteckning och länkar Frågor och kommentarer 13 / 27
Vardagligt användande Vilka kommandon behöver man lära sig? add Säg åt git att du vill spara förändringarna i given fil. reset Spara inte förändringarna i given fil (undo för add) commit Lägg till dina förändringar till loggen. status Hur ser git-repot ut? Vilka filer har du förändrat? push Skicka alla commitade ändringar till det delade repositoryt. pull Ladda ner alla ändringar från det delade repositoryt. checkout Plocka fram en gammal version av filer. log Visa en log över alla committade ändringar. help Visa hjälp för ett givet kommando. 14 / 27
Hur lagras data i git? Remote Repository fetch push Local Repository pull commit Staging Area checkout add Working Directory 15 / 27
Demonstration Demonstration av de grundläggande koncepten. Ändra filer. Commit. Hantera konflikter. Titta i loggen. 16 / 27
Taggar Vad är en tag? Ett bokmärke som pekar på en specifik commit. Kommandon för att hantera taggar: 1 g i t tag <name> 2 g i t tag 3 g i t push t a g s 17 / 27
Branches och commits devel 2 master 1 next-gen 3 4 1.0 5 6 1.1 7 8 18 / 27
Att använda branches Kommandon: branch Lista grenar eller skapa ny gren. (-r för att lista remote) checkout Används för att byta gren. merge Används för att hämta in förändringar från en annan gren. Grenar är som standard lokala: 1 # Ladda upp och f ö l j : 2 g i t push u o r i g i n <branch> 3 4 # Bö r j a f ö l j a : 5 g i t branch <l o c a l b r a n c h > <remote branch > 19 / 27
Undo Undo kan betyda tre olika saker: 1 # Medan man f o r t f a r a n d e kodar : 2 g i t checkout < f i l e > 3 4 # Fö r b e r e t t f ö r commit, men i n t e committat än : 5 g i t r e s e t HEAD < f i l e > 6 7 # Redan committat : 8 g i t r e v e r t n 502 f c b 1 Låt dina comittade fel ligga kvar i historien! 20 / 27
En närmare titt på historien Olika sätt att titta på historien: log Visa en log över alla commits med kommentarer. show Visa detaljer för en specifik commit. diff Jämför olika versioner av filer. blame Visa vem som sist petade på en rad. 21 / 27
Ignorera filer Hur får man git att sluta lista alla dessa skräpfiler? Skapa en.gitignore fil och lista vad som ska ignoreras. 22 / 27
Git i Windows Om man kör Windows då? msysgit (installerar ett shell och beter sig precis som git i Linux.) Git Extensions (ett GUI program.) Finns GUI program för andra operativsystem också. 23 / 27
Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository Första gången med ett repository Koppla in fler användare Använda git Vardagligt användande Taggar Branching Undo En närmare titt på historien Ignorera filer Git i Windows Avslutning Sammanfattning Källförteckning och länkar Frågor och kommentarer 24 / 27
Sammanfattning Vi har sett: Vad man behöver versionshantering till. Vad git är. Hur man använder git. Några av de vanligaste problemen man kan stöta på. 25 / 27
Källförteckning och länkar Guider: http://schacon.github.com/git/gittutorial.html http://ricroberts.com/articles/ getting-to-grips-with-git-part-1-the-basics Gratis hosting: http://bitbucket.org http://github.com Mer information: http://en.wikipedia.org/wiki/revision_control http://en.wikipedia.org/wiki/git_(software) 26 / 27
Frågor och kommentarer? 27 / 27