Introduktion till gitGit i Windows Om man kor Windows d a? I msysgit (installerar ett shell och...

Post on 10-Jul-2020

7 views 0 download

transcript

Introduktion till git

Anders Engstrom

23 februari 2012

1 / 27

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

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

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

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

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

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

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

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

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

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

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

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

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

Hur lagras data i git?

Remote Repository

Local Repository

Staging Area

Working Directory

pull

fetch push

checkout add

commit

15 / 27

Demonstration

Demonstration av de grundlaggande koncepten.

I Andra filer.

I Commit.

I Hantera konflikter.

I Titta i loggen.

16 / 27

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

Branches och commits

1

4

3

6

7

2

5

8

masterdevel next-gen

1.0

1.1

18 / 27

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

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

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

Ignorera filer

Hur far man git att sluta lista alla dessaskrapfiler?

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

22 / 27

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

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

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

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

Fragor och kommentarer

?

27 / 27