27
Introduktion till git Anders Engstr¨ om 23 februari 2012 1 / 27

Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Introduktion till git

Anders Engstrom

23 februari 2012

1 / 27

Page 2: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Oversikt

IntroduktionI en varld utanversionshanteringTyper av versionshanteringDetta ar git

Komma igang med gitForberedelserEget repositoryForsta gangen med ettrepositoryKoppla in fler anvandare

Anvanda gitVardagligt anvandandeTaggarBranchingUndoEn narmare titt pa historienIgnorera filerGit i Windows

AvslutningSammanfattningKallforteckning och lankarFragor och kommentarer

2 / 27

Page 3: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Oversikt

IntroduktionI en varld utanversionshanteringTyper av versionshanteringDetta ar git

Komma igang med gitForberedelserEget repositoryForsta gangen med ettrepositoryKoppla in fler anvandare

Anvanda gitVardagligt anvandandeTaggarBranchingUndoEn narmare titt pa historienIgnorera filerGit i Windows

AvslutningSammanfattningKallforteckning och lankarFragor och kommentarer

3 / 27

Page 4: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

I en varld utan versionshantering

Hur arbetar man i grupp?

I Delad mapp.

I Maila filer fram och tillbaka.

Hur omintetgor man en forandring man angrar?

I Skriv om delar av koden sa att den blir som den var forut.

I Skapa kopior i forvag av filer enligt ennamngivningskonvention.

I Leta runt bland gamla mail.

Kan ni komma pa nagot mer satt?

4 / 27

Page 5: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Typer av versionshantering

Hur hanterar man att flera kan andra?

I Las pa filer

I Sammanfogning (merge)

Var lagras informationen?

I Centraliserat

I Distribuerat

5 / 27

Page 6: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Detta ar git

Git ar:

I Ett snabbt distribuerat versionshanteringssystem.

I Skrivet for Linux kerneln (av Linus Torvalds)

I Massor av andra projekt anvander det ocksa.

I Git ar open source, GPL osv.

Vi tittar pa:

I Mestadels officiella kommandorads-klienten. (Finns aven tillwindows.)

I Aven lite snabbt pa en grafisk windows-klient.

6 / 27

Page 7: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Oversikt

IntroduktionI en varld utanversionshanteringTyper av versionshanteringDetta ar git

Komma igang med gitForberedelserEget repositoryForsta gangen med ettrepositoryKoppla in fler anvandare

Anvanda gitVardagligt anvandandeTaggarBranchingUndoEn narmare titt pa historienIgnorera filerGit i Windows

AvslutningSammanfattningKallforteckning och lankarFragor och kommentarer

7 / 27

Page 8: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Forberedelser

Vem ar du?

1 g i t c o n f i g −−g l o b a l u s e r . name ”Anders Engs t r om”2 g i t c o n f i g −−g l o b a l u s e r . ema i l ankan@ludd . l t u . s e

Skapa en gemensam lagringsplats

I Flertalet websidor erbjuder gratis hosting. (Github, Bitbucket)Skapa konto och repository dar.

I Eller skapa ett eget repository manuellt pa en egen server.

8 / 27

Page 9: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Eget repository

Skapa eget repository manuellt (pa en server):

1 g i t i n i t −−bare −−sha r ed t e s t . g i t2 groupadd t e s t p r o j e c t3 chgrp −R t e s t p r o j e c t t e s t . g i t4 chmod −R 770 t e s t . g i t

9 / 27

Page 10: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Att borja lagga in saker

Forbered ett enkelt repository att ladda upp(pa en klient-dator):

1 g i t i n i t t e s t2 cd te s t3 touch README4 g i t add README5 g i t commit −m ’ f i r s t commit ’

10 / 27

Page 11: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Koppla ihop med servern forsta gangen

Bitbucket:

1 g i t remote add o r i g i n h t t p s : // ankaan@b i tbucket . 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 ub . com : ankaan/ t e s t . g i t

Egen server:

1 g i t remote add o r i g i n ankan@ l o ca l ho 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

Page 12: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Koppla in fler anvandare

I fortsattningen for att koppla in fleranvandare:

1 g i t c l o n e ankan@ lo ca l ho s t : t e s t . g i t

12 / 27

Page 13: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Oversikt

IntroduktionI en varld utanversionshanteringTyper av versionshanteringDetta ar git

Komma igang med gitForberedelserEget repositoryForsta gangen med ettrepositoryKoppla in fler anvandare

Anvanda gitVardagligt anvandandeTaggarBranchingUndoEn narmare titt pa historienIgnorera filerGit i Windows

AvslutningSammanfattningKallforteckning och lankarFragor och kommentarer

13 / 27

Page 14: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Vardagligt anvandande

Vilka kommandon behover man lara sig?

add Sag at git att du vill spara forandringarna i given fil.

reset Spara inte forandringarna i given fil (undo for add)

commit Lagg till dina forandringar till loggen.

status Hur ser git-repot ut? Vilka filer har du forandrat?

push Skicka alla commitade andringar till det deladerepositoryt.

pull Ladda ner alla andringar fran det delade repositoryt.

checkout Plocka fram en gammal version av filer.

log Visa en log over alla committade andringar.

help Visa hjalp for ett givet kommando.

14 / 27

Page 15: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Hur lagras data i git?

Remote Repository

Local Repository

Staging Area

Working Directory

pull

fetch push

checkout add

commit

15 / 27

Page 16: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Demonstration

Demonstration av de grundlaggande koncepten.

I Andra filer.

I Commit.

I Hantera konflikter.

I Titta i loggen.

16 / 27

Page 17: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Taggar

Vad ar en tag?

I Ett bokmarke som pekar pa en specifik commit.

Kommandon for att hantera taggar:

1 g i t tag <name>2 g i t tag3 g i t push −−t ag s

17 / 27

Page 18: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Branches och commits

1

4

3

6

7

2

5

8

masterdevel next-gen

1.0

1.1

18 / 27

Page 19: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Att anvanda branches

Kommandon:

branch Lista grenar eller skapa ny gren. (-r for att listaremote)

checkout Anvands for att byta gren.

merge Anvands for att hamta in forandringar fran en annangren.

Grenar ar som standard lokala:

1 # Ladda upp och f o l j :2 g i t push −u o r i g i n <branch>34 # Bo r j a f o l j a :5 g i t branch < l o c a l b r a n c h> <remote branch>

19 / 27

Page 20: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

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 >34 # Fo r b e r e t t f o r commit , men i n t e committat an :5 g i t r e s e t HEAD < f i l e >67 # Redan committat :8 g i t r e v e r t −n 502 fcb1

Lat dina comittade fel ligga kvar i historien!

20 / 27

Page 21: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

En narmare titt pa historien

Olika satt att titta pa historien:

log Visa en log over alla commits med kommentarer.

show Visa detaljer for en specifik commit.

diff Jamfor olika versioner av filer.

blame Visa vem som sist petade pa en rad.

21 / 27

Page 22: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Ignorera filer

Hur far man git att sluta lista alla dessaskrapfiler?

I Skapa en .gitignore fil och lista vad som ska ignoreras.

22 / 27

Page 23: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Git i Windows

Om man kor Windows da?

I msysgit (installerar ett shell och beter sig precis som git iLinux.)

I Git Extensions (ett GUI program.)

I Finns GUI program for andra operativsystem ocksa.

23 / 27

Page 24: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Oversikt

IntroduktionI en varld utanversionshanteringTyper av versionshanteringDetta ar git

Komma igang med gitForberedelserEget repositoryForsta gangen med ettrepositoryKoppla in fler anvandare

Anvanda gitVardagligt anvandandeTaggarBranchingUndoEn narmare titt pa historienIgnorera filerGit i Windows

AvslutningSammanfattningKallforteckning och lankarFragor och kommentarer

24 / 27

Page 25: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Sammanfattning

Vi har sett:

I Vad man behover versionshantering till.

I Vad git ar.

I Hur man anvander git.

I Nagra av de vanligaste problemen man kan stota pa.

25 / 27

Page 26: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Kallforteckning och lankar

Guider:

I http://schacon.github.com/git/gittutorial.html

I http://ricroberts.com/articles/

getting-to-grips-with-git-part-1-the-basics

Gratis hosting:

I http://bitbucket.org

I http://github.com

Mer information:

I http://en.wikipedia.org/wiki/Revision_control

I http://en.wikipedia.org/wiki/Git_(software)

26 / 27

Page 27: Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och beter sig precis som git i Linux.) I Git Extensions (ett GUI program.) I Finns GUI program

Fragor och kommentarer

?

27 / 27