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
Top Related